mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-01-27 21:38:05 +01:00
Merge branch 'mc1.18/dev' into mc1.19/dev
This commit is contained in:
commit
b1ceb102f8
78 changed files with 3378 additions and 3346 deletions
|
@ -23,7 +23,7 @@ use_parchment = true
|
|||
# dependency versions
|
||||
registrate_version = MC1.19-1.1.5
|
||||
flywheel_minecraft_version = 1.19.2
|
||||
flywheel_version = 0.6.10-21
|
||||
flywheel_version = 0.6.11-22
|
||||
jei_minecraft_version = 1.19.2
|
||||
jei_version = 11.6.0.1024
|
||||
curios_minecraft_version = 1.19.2
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1946,7 +1946,7 @@
|
|||
"create.ponder.redstone_link.text_1": "Redstone Links can transmit redstone signals wirelessly",
|
||||
"create.ponder.redstone_link.text_2": "Right-click while Sneaking to toggle receive mode",
|
||||
"create.ponder.redstone_link.text_3": "A simple Right-click with a Wrench can do the same",
|
||||
"create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 128 blocks",
|
||||
"create.ponder.redstone_link.text_4": "Receivers emit the redstone power of transmitters within 256 blocks",
|
||||
"create.ponder.redstone_link.text_5": "Placing items in the two slots can specify a Frequency",
|
||||
"create.ponder.redstone_link.text_6": "Only the links with matching Frequencies will communicate",
|
||||
"create.ponder.replay": "Replay",
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"create:raw_zinc"
|
||||
]
|
||||
"tag": "forge:raw_materials/zinc"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"minecraft:copper_ingot"
|
||||
]
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"create:raw_zinc"
|
||||
]
|
||||
"tag": "forge:raw_materials/zinc"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -5,9 +5,7 @@
|
|||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"create:copper_nugget"
|
||||
]
|
||||
"tag": "forge:nuggets/copper"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"cookingtime": 100,
|
||||
"experience": 0.7,
|
||||
"ingredient": {
|
||||
"item": "create:raw_zinc"
|
||||
"tag": "forge:raw_materials/zinc"
|
||||
},
|
||||
"result": "create:zinc_ingot"
|
||||
}
|
|
@ -5,13 +5,13 @@
|
|||
"item": "create:andesite_alloy"
|
||||
},
|
||||
"B": {
|
||||
"item": "minecraft:copper_block"
|
||||
"tag": "forge:storage_blocks/copper"
|
||||
},
|
||||
"G": {
|
||||
"item": "create:shaft"
|
||||
},
|
||||
"P": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"item": "create:andesite_alloy"
|
||||
},
|
||||
"P": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"tag": "forge:glass"
|
||||
},
|
||||
"P": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"tag": "forge:plates/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"SCS"
|
||||
],
|
||||
"key": {
|
||||
"S": {
|
||||
"tag": "forge:plates/copper"
|
||||
},
|
||||
"C": {
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "create:fluid_pipe"
|
||||
"item": "create:fluid_pipe",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"S": {
|
||||
"tag": "forge:plates/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"S",
|
||||
"C",
|
||||
"S"
|
||||
],
|
||||
"key": {
|
||||
"S": {
|
||||
"tag": "forge:plates/copper"
|
||||
},
|
||||
"C": {
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "create:fluid_pipe"
|
||||
"item": "create:fluid_pipe",
|
||||
"count": 4
|
||||
}
|
||||
}
|
|
@ -1,21 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"key": {
|
||||
"A": {
|
||||
"item": "create:andesite_alloy"
|
||||
},
|
||||
"C": {
|
||||
"item": "minecraft:copper_block"
|
||||
},
|
||||
"P": {
|
||||
"tag": "forge:plates/gold"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"P",
|
||||
"A",
|
||||
"C"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"tag": "forge:plates/gold"
|
||||
},
|
||||
"C": {
|
||||
"tag": "forge:storage_blocks/copper"
|
||||
},
|
||||
"A": {
|
||||
"item": "create:andesite_alloy"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:steam_engine"
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"P": {
|
||||
"tag": "forge:plates/gold"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"P",
|
||||
"C"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"tag": "forge:plates/gold"
|
||||
},
|
||||
"C": {
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:steam_whistle"
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "minecraft:crafting_shapeless",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_copper"
|
||||
"tag": "forge:raw_materials/copper"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_copper_block"
|
||||
"tag": "forge:storage_blocks/raw_copper"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_gold"
|
||||
"tag": "forge:raw_materials/gold"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_gold_block"
|
||||
"tag": "forge:storage_blocks/raw_gold"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_iron"
|
||||
"tag": "forge:raw_materials/iron"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:raw_iron_block"
|
||||
"tag": "forge:storage_blocks/raw_iron"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:raw_zinc"
|
||||
"tag": "forge:raw_materials/zinc"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:raw_zinc_block"
|
||||
"tag": "forge:storage_blocks/raw_zinc"
|
||||
}
|
||||
],
|
||||
"processingTime": 400,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"tag": "forge:stripped_logs"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"tag": "forge:stripped_wood"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"type": "create:mechanical_crafting",
|
||||
"acceptMirrored": true,
|
||||
"pattern": [
|
||||
"LRSSS",
|
||||
"CC "
|
||||
],
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "minecraft:copper_ingot"
|
||||
},
|
||||
"L": {
|
||||
"item": "create:andesite_alloy"
|
||||
},
|
||||
|
@ -13,13 +13,13 @@
|
|||
},
|
||||
"S": {
|
||||
"item": "create:fluid_pipe"
|
||||
},
|
||||
"C": {
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"LRSSS",
|
||||
"CC "
|
||||
],
|
||||
"result": {
|
||||
"item": "create:potato_cannon"
|
||||
}
|
||||
},
|
||||
"acceptMirrored": true
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
"heatRequirement": "heated",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
},
|
||||
{
|
||||
"tag": "forge:ingots/zinc"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"type": "create:pressing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:copper_ingot"
|
||||
"tag": "forge:ingots/copper"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"cookingtime": 200,
|
||||
"experience": 0.7,
|
||||
"ingredient": {
|
||||
"item": "create:raw_zinc"
|
||||
"tag": "forge:raw_materials/zinc"
|
||||
},
|
||||
"result": "create:zinc_ingot"
|
||||
}
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.decoration.copycat;
|
|||
|
||||
import com.simibubi.create.content.decoration.palettes.GlassPaneBlock;
|
||||
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.IronBarsBlock;
|
||||
import net.minecraft.world.level.block.StainedGlassPaneBlock;
|
||||
import net.minecraft.world.level.block.TrapDoorBlock;
|
||||
|
@ -11,7 +12,7 @@ public class CopycatSpecialCases {
|
|||
|
||||
public static boolean isBarsMaterial(BlockState material) {
|
||||
return material.getBlock() instanceof IronBarsBlock && !(material.getBlock() instanceof GlassPaneBlock)
|
||||
&& !(material.getBlock() instanceof StainedGlassPaneBlock);
|
||||
&& !(material.getBlock() instanceof StainedGlassPaneBlock) && material.getBlock() != Blocks.GLASS_PANE;
|
||||
}
|
||||
|
||||
public static boolean isTrapdoorMaterial(BlockState material) {
|
||||
|
|
|
@ -307,18 +307,27 @@ public class DepotBehaviour extends BlockEntityBehaviour {
|
|||
return returned;
|
||||
}
|
||||
|
||||
if (!simulate) {
|
||||
if (this.isEmpty()) {
|
||||
if (heldItem.insertedFrom.getAxis()
|
||||
.isHorizontal())
|
||||
AllSoundEvents.DEPOT_SLIDE.playOnServer(getWorld(), getPos());
|
||||
else
|
||||
AllSoundEvents.DEPOT_PLOP.playOnServer(getWorld(), getPos());
|
||||
}
|
||||
this.heldItem = heldItem;
|
||||
onHeldInserted.accept(heldItem.stack);
|
||||
ItemStack returned = ItemStack.EMPTY;
|
||||
int maxCount = heldItem.stack.getMaxStackSize();
|
||||
if (maxCount < heldItem.stack.getCount())
|
||||
returned = ItemHandlerHelper.copyStackWithSize(heldItem.stack, heldItem.stack.getCount() - maxCount);
|
||||
|
||||
if (simulate)
|
||||
return returned;
|
||||
|
||||
if (this.isEmpty()) {
|
||||
if (heldItem.insertedFrom.getAxis()
|
||||
.isHorizontal())
|
||||
AllSoundEvents.DEPOT_SLIDE.playOnServer(getWorld(), getPos());
|
||||
else
|
||||
AllSoundEvents.DEPOT_PLOP.playOnServer(getWorld(), getPos());
|
||||
}
|
||||
return ItemStack.EMPTY;
|
||||
|
||||
heldItem = heldItem.copy();
|
||||
heldItem.stack.setCount(maxCount);
|
||||
this.heldItem = heldItem;
|
||||
onHeldInserted.accept(heldItem.stack);
|
||||
return returned;
|
||||
}
|
||||
|
||||
public void setHeldItem(TransportedItemStack heldItem) {
|
||||
|
|
|
@ -23,6 +23,10 @@ public class FilterItemStack {
|
|||
|
||||
public static FilterItemStack of(ItemStack filter) {
|
||||
if (filter.hasTag()) {
|
||||
CompoundTag stackTag = filter.getTag();
|
||||
stackTag.remove("Enchantments");
|
||||
stackTag.remove("AttributeModifiers");
|
||||
|
||||
if (AllItems.FILTER.isIn(filter))
|
||||
return new ListFilterItemStack(filter);
|
||||
if (AllItems.ATTRIBUTE_FILTER.isIn(filter))
|
||||
|
|
|
@ -380,7 +380,7 @@ public class BasinBlockEntity extends SmartBlockEntity implements IHaveGoggleInf
|
|||
inserter = BlockEntityBehaviour.get(level, be.getBlockPos(), InvManipulationBehaviour.TYPE);
|
||||
}
|
||||
|
||||
if (be instanceof BasinBlockEntity)
|
||||
if (filter.isRecipeFilter())
|
||||
filter = null; // Do not test spout outputs against the recipe filter
|
||||
|
||||
IItemHandler targetInv = be == null ? null
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package com.simibubi.create.foundation.block;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.slf4j.Logger;
|
||||
|
||||
import com.google.common.base.Suppliers;
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
|
@ -51,9 +55,11 @@ public class CopperRegistries {
|
|||
weatheringMemoized = true;
|
||||
ImmutableBiMap.Builder<Block, Block> builder = ImmutableBiMap.builder();
|
||||
builder.putAll(originalWeatheringMapDelegate.get());
|
||||
WEATHERING.forEach((original, weathered) -> {
|
||||
ErrorHandlingBiConsumer<Supplier<Block>, Supplier<Block>> consumer = new ErrorHandlingBiConsumer<>((original, weathered) -> {
|
||||
builder.put(original.get(), weathered.get());
|
||||
});
|
||||
WEATHERING.forEach(consumer);
|
||||
consumer.reportExceptions(Create.LOGGER, "weathering");
|
||||
return builder.build();
|
||||
};
|
||||
// Replace the memoized supplier's delegate, since interface fields cannot be reassigned
|
||||
|
@ -67,11 +73,51 @@ public class CopperRegistries {
|
|||
waxableMemoized = true;
|
||||
ImmutableBiMap.Builder<Block, Block> builder = ImmutableBiMap.builder();
|
||||
builder.putAll(originalWaxableMapSupplier.get());
|
||||
WAXABLE.forEach((original, waxed) -> {
|
||||
ErrorHandlingBiConsumer<Supplier<Block>, Supplier<Block>> consumer = new ErrorHandlingBiConsumer<>((original, waxed) -> {
|
||||
builder.put(original.get(), waxed.get());
|
||||
});
|
||||
WAXABLE.forEach(consumer);
|
||||
consumer.reportExceptions(Create.LOGGER, "waxable");
|
||||
return builder.build();
|
||||
});
|
||||
HoneycombItem.WAXABLES = waxableMapSupplier;
|
||||
}
|
||||
|
||||
// Create itself only ever adds BlockEntry objects to these registries, which throw if they are not populated with their
|
||||
// Block object. Normally this shouldn't happen as the weathering/waxable maps shouldn't be accessed before block
|
||||
// registration is complete, but internal Forge code or other mods may cause this to happen. It is better to catch the
|
||||
// exception rather than letting it crash the game.
|
||||
private static class ErrorHandlingBiConsumer<T, U> implements BiConsumer<T, U> {
|
||||
private final BiConsumer<T, U> delegate;
|
||||
private int exceptionCount = 0;
|
||||
@Nullable
|
||||
private Throwable firstException;
|
||||
|
||||
public ErrorHandlingBiConsumer(BiConsumer<T, U> delegate) {
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(T t, U u) {
|
||||
try {
|
||||
delegate.accept(t, u);
|
||||
} catch (Throwable throwable) {
|
||||
exceptionCount++;
|
||||
|
||||
if (firstException == null) {
|
||||
firstException = throwable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void reportExceptions(Logger logger, String type) {
|
||||
if (exceptionCount != 0) {
|
||||
logger.error("Adding " + type + " copper entries from CopperRegistries encountered " + exceptionCount + " exception(s)!");
|
||||
|
||||
if (firstException != null) {
|
||||
logger.error("The first exception that was thrown is logged below.", firstException);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -387,5 +387,9 @@ public class FilteringBehaviour extends BlockEntityBehaviour implements ValueSet
|
|||
|
||||
return setFilter(side, copied);
|
||||
}
|
||||
|
||||
public boolean isRecipeFilter() {
|
||||
return recipeFilter;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ import net.minecraft.data.recipes.RecipeProvider;
|
|||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraftforge.common.Tags;
|
||||
|
@ -62,7 +61,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
}
|
||||
|
||||
static TagKey<Item> gold() {
|
||||
return AllTags.forgeItemTag("ingots/gold");
|
||||
return Tags.Items.INGOTS_GOLD;
|
||||
}
|
||||
|
||||
static TagKey<Item> goldSheet() {
|
||||
|
@ -73,7 +72,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
return Tags.Items.STONE;
|
||||
}
|
||||
|
||||
static ItemLike andesite() {
|
||||
static ItemLike andesiteAlloy() {
|
||||
return AllItems.ANDESITE_ALLOY.get();
|
||||
}
|
||||
|
||||
|
@ -106,7 +105,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
}
|
||||
|
||||
static TagKey<Item> ironNugget() {
|
||||
return AllTags.forgeItemTag("nuggets/iron");
|
||||
return Tags.Items.NUGGETS_IRON;
|
||||
}
|
||||
|
||||
static TagKey<Item> zinc() {
|
||||
|
@ -136,10 +135,6 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
static ItemLike precisionMechanism() {
|
||||
return AllItems.PRECISION_MECHANISM.get();
|
||||
}
|
||||
|
||||
static ItemLike copperBlock() {
|
||||
return Items.COPPER_BLOCK;
|
||||
}
|
||||
|
||||
static TagKey<Item> brassBlock() {
|
||||
return AllTags.forgeItemTag("storage_blocks/brass");
|
||||
|
@ -153,18 +148,22 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
return AllTags.forgeItemTag("flour/wheat");
|
||||
}
|
||||
|
||||
static ItemLike copper() {
|
||||
return Items.COPPER_INGOT;
|
||||
}
|
||||
|
||||
static TagKey<Item> copperSheet() {
|
||||
return AllTags.forgeItemTag("plates/copper");
|
||||
static TagKey<Item> copper() {
|
||||
return Tags.Items.INGOTS_COPPER;
|
||||
}
|
||||
|
||||
static TagKey<Item> copperNugget() {
|
||||
return AllTags.forgeItemTag("nuggets/copper");
|
||||
}
|
||||
|
||||
static TagKey<Item> copperBlock() {
|
||||
return Tags.Items.STORAGE_BLOCKS_COPPER;
|
||||
}
|
||||
|
||||
static TagKey<Item> copperSheet() {
|
||||
return AllTags.forgeItemTag("plates/copper");
|
||||
}
|
||||
|
||||
static TagKey<Item> brassNugget() {
|
||||
return AllTags.forgeItemTag("nuggets/brass");
|
||||
}
|
||||
|
@ -186,7 +185,7 @@ public abstract class CreateRecipeProvider extends RecipeProvider {
|
|||
}
|
||||
|
||||
static Ingredient netherite() {
|
||||
return Ingredient.of(AllTags.forgeItemTag("ingots/netherite"));
|
||||
return Ingredient.of(Tags.Items.INGOTS_NETHERITE);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -25,10 +25,13 @@ import com.simibubi.create.foundation.utility.Lang;
|
|||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraftforge.common.Tags;
|
||||
import net.minecraftforge.common.crafting.conditions.NotCondition;
|
||||
import net.minecraftforge.common.crafting.conditions.TagEmptyCondition;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
@ -46,118 +49,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
.output(.5f, Items.QUARTZ, 2)
|
||||
.output(.1f, Items.GLOWSTONE_DUST, 2)),
|
||||
|
||||
OBSIDIAN = create(() -> Blocks.OBSIDIAN, b -> b.duration(500)
|
||||
.output(AllItems.POWDERED_OBSIDIAN.get())
|
||||
.output(.75f, Blocks.OBSIDIAN)),
|
||||
|
||||
WOOL = create("wool", b -> b.duration(100)
|
||||
.require(ItemTags.WOOL)
|
||||
.output(Items.STRING, 2)
|
||||
.output(.5f, Items.STRING)),
|
||||
|
||||
DIORITE = ensMineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350)
|
||||
.output(.25f, Items.QUARTZ, 1)),
|
||||
|
||||
CRIMSITE =
|
||||
mineralRecycling(AllPaletteStoneTypes.CRIMSITE, AllItems.CRUSHED_IRON::get, () -> Items.IRON_NUGGET, .4f),
|
||||
|
||||
VERIDIUM = mineralRecycling(AllPaletteStoneTypes.VERIDIUM, AllItems.CRUSHED_COPPER::get,
|
||||
() -> AllItems.COPPER_NUGGET::get, .8f),
|
||||
|
||||
ASURINE = mineralRecycling(AllPaletteStoneTypes.ASURINE, AllItems.CRUSHED_ZINC::get,
|
||||
() -> AllItems.ZINC_NUGGET::get, .3f),
|
||||
|
||||
OCHRUM =
|
||||
mineralRecycling(AllPaletteStoneTypes.OCHRUM, AllItems.CRUSHED_GOLD::get, () -> Items.GOLD_NUGGET, .2f),
|
||||
|
||||
TUFF = mineralRecycling(AllPaletteStoneTypes.TUFF, b -> b.duration(350)
|
||||
.output(.25f, Items.FLINT, 1)
|
||||
.output(.1f, Items.GOLD_NUGGET, 1)
|
||||
.output(.1f, AllItems.COPPER_NUGGET.get(), 1)
|
||||
.output(.1f, AllItems.ZINC_NUGGET.get(), 1)
|
||||
.output(.1f, Items.IRON_NUGGET, 1)),
|
||||
|
||||
COPPER_ORE = stoneOre(() -> Items.COPPER_ORE, AllItems.CRUSHED_COPPER::get, 5.25f, 250),
|
||||
ZINC_ORE = stoneOre(AllBlocks.ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 1.75f, 250),
|
||||
IRON_ORE = stoneOre(() -> Items.IRON_ORE, () -> AllItems.CRUSHED_IRON::get, 1.75f, 250),
|
||||
GOLD_ORE = stoneOre(() -> Items.GOLD_ORE, AllItems.CRUSHED_GOLD::get, 1.75f, 250),
|
||||
DIAMOND_ORE = stoneOre(() -> Items.DIAMOND_ORE, () -> Items.DIAMOND, 1.75f, 350),
|
||||
EMERALD_ORE = stoneOre(() -> Items.EMERALD_ORE, () -> Items.EMERALD, 1.75f, 350),
|
||||
COAL_ORE = stoneOre(() -> Items.COAL_ORE, () -> Items.COAL, 1.75f, 150),
|
||||
REDSTONE_ORE = stoneOre(() -> Items.REDSTONE_ORE, () -> Items.REDSTONE, 6.5f, 250),
|
||||
LAPIS_ORE = stoneOre(() -> Items.LAPIS_ORE, () -> Items.LAPIS_LAZULI, 10.5f, 250),
|
||||
|
||||
DEEP_COPPER_ORE = deepslateOre(() -> Items.DEEPSLATE_COPPER_ORE, AllItems.CRUSHED_COPPER::get, 7.25f, 350),
|
||||
DEEP_ZINC_ORE = deepslateOre(AllBlocks.DEEPSLATE_ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 2.25f, 350),
|
||||
DEEP_IRON_ORE = deepslateOre(() -> Items.DEEPSLATE_IRON_ORE, AllItems.CRUSHED_IRON::get, 2.25f, 350),
|
||||
DEEP_GOLD_ORE = deepslateOre(() -> Items.DEEPSLATE_GOLD_ORE, AllItems.CRUSHED_GOLD::get, 2.25f, 350),
|
||||
DEEP_DIAMOND_ORE = deepslateOre(() -> Items.DEEPSLATE_DIAMOND_ORE, () -> Items.DIAMOND, 2.25f, 450),
|
||||
DEEP_EMERALD_ORE = deepslateOre(() -> Items.DEEPSLATE_EMERALD_ORE, () -> Items.EMERALD, 2.25f, 450),
|
||||
DEEP_COAL_ORE = deepslateOre(() -> Items.DEEPSLATE_COAL_ORE, () -> Items.COAL, 2.25f, 300),
|
||||
DEEP_REDSTONE_ORE = deepslateOre(() -> Items.DEEPSLATE_REDSTONE_ORE, () -> Items.REDSTONE, 7.5f, 350),
|
||||
DEEP_LAPIS_ORE = deepslateOre(() -> Items.DEEPSLATE_LAPIS_ORE, () -> Items.LAPIS_LAZULI, 12.5f, 350),
|
||||
|
||||
NETHER_GOLD_ORE = netherOre(() -> Items.NETHER_GOLD_ORE, () -> Items.GOLD_NUGGET, 18, 350),
|
||||
NETHER_QUARTZ_ORE = netherOre(() -> Items.NETHER_QUARTZ_ORE, () -> Items.QUARTZ, 2.25f, 350),
|
||||
|
||||
GILDED_BLACKSTONE = ore(Items.BLACKSTONE, () -> Items.GILDED_BLACKSTONE, () -> Items.GOLD_NUGGET, 18, 400),
|
||||
|
||||
RAW_COPPER_ORE = rawOre(() -> Items.RAW_COPPER, AllItems.CRUSHED_COPPER::get, 1),
|
||||
RAW_ZINC_ORE = rawOre(AllItems.RAW_ZINC::get, AllItems.CRUSHED_ZINC::get, 1),
|
||||
RAW_IRON_ORE = rawOre(() -> Items.RAW_IRON, AllItems.CRUSHED_IRON::get, 1),
|
||||
RAW_GOLD_ORE = rawOre(() -> Items.RAW_GOLD, AllItems.CRUSHED_GOLD::get, 1),
|
||||
|
||||
OSMIUM_ORE = moddedOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get),
|
||||
PLATINUM_ORE = moddedOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get),
|
||||
SILVER_ORE = moddedOre(SILVER, AllItems.CRUSHED_SILVER::get),
|
||||
TIN_ORE = moddedOre(TIN, AllItems.CRUSHED_TIN::get),
|
||||
QUICKSILVER_ORE = moddedOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get),
|
||||
LEAD_ORE = moddedOre(LEAD, AllItems.CRUSHED_LEAD::get),
|
||||
ALUMINUM_ORE = moddedOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get),
|
||||
URANIUM_ORE = moddedOre(URANIUM, AllItems.CRUSHED_URANIUM::get),
|
||||
NICKEL_ORE = moddedOre(NICKEL, AllItems.CRUSHED_NICKEL::get),
|
||||
|
||||
OSMIUM_RAW_ORE = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get, 1),
|
||||
PLATINUM_RAW_ORE = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get, 1),
|
||||
SILVER_RAW_ORE = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get, 1),
|
||||
TIN_RAW_ORE = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get, 1),
|
||||
QUICKSILVER_RAW_ORE = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get, 1),
|
||||
LEAD_RAW_ORE = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get, 1),
|
||||
ALUMINUM_RAW_ORE = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get, 1),
|
||||
URANIUM_RAW_ORE = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get, 1),
|
||||
NICKEL_RAW_ORE = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get, 1),
|
||||
|
||||
RAW_COPPER_BLOCK = rawOre(() -> Items.RAW_COPPER_BLOCK, AllItems.CRUSHED_COPPER::get, 9),
|
||||
RAW_ZINC_BLOCK = rawOre(AllBlocks.RAW_ZINC_BLOCK::get, AllItems.CRUSHED_ZINC::get, 9),
|
||||
RAW_IRON_BLOCK = rawOre(() -> Items.RAW_IRON_BLOCK, AllItems.CRUSHED_IRON::get, 9),
|
||||
RAW_GOLD_BLOCK = rawOre(() -> Items.RAW_GOLD_BLOCK, AllItems.CRUSHED_GOLD::get, 9),
|
||||
|
||||
OSMIUM_RAW_BLOCK = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get, 9),
|
||||
PLATINUM_RAW_BLOCK = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get, 9),
|
||||
SILVER_RAW_BLOCK = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get, 9),
|
||||
TIN_RAW_BLOCK = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get, 9),
|
||||
QUICKSILVER_RAW_BLOCK = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get, 9),
|
||||
LEAD_RAW_BLOCK = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get, 9),
|
||||
ALUMINUM_RAW_BLOCK = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get, 9),
|
||||
URANIUM_RAW_BLOCK = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get, 9),
|
||||
NICKEL_RAW_BLOCK = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get, 9),
|
||||
|
||||
NETHER_WART = create("nether_wart_block", b -> b.duration(150)
|
||||
.require(Blocks.NETHER_WART_BLOCK)
|
||||
.output(.25f, Items.NETHER_WART, 1)),
|
||||
|
||||
AMETHYST_CLUSTER = create(() -> Blocks.AMETHYST_CLUSTER, b -> b.duration(150)
|
||||
.output(Items.AMETHYST_SHARD, 7)
|
||||
.output(.5f, Items.AMETHYST_SHARD)),
|
||||
|
||||
GLOWSTONE = create(() -> Blocks.GLOWSTONE, b -> b.duration(150)
|
||||
.output(Items.GLOWSTONE_DUST, 3)
|
||||
.output(.5f, Items.GLOWSTONE_DUST)),
|
||||
|
||||
AMETHYST_BLOCK = create(() -> Blocks.AMETHYST_BLOCK, b -> b.duration(150)
|
||||
.output(Items.AMETHYST_SHARD, 3)
|
||||
.output(.5f, Items.AMETHYST_SHARD)),
|
||||
|
||||
LEATHER_HORSE_ARMOR = create(() -> Items.LEATHER_HORSE_ARMOR, b -> b.duration(200)
|
||||
.output(Items.LEATHER, 2)
|
||||
.output(.5f, Items.LEATHER, 2)),
|
||||
|
@ -182,6 +73,27 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
.output(.1f, Items.DIAMOND, 3)
|
||||
.output(.25f, Items.STRING, 2)),
|
||||
|
||||
WOOL = create("wool", b -> b.duration(100)
|
||||
.require(ItemTags.WOOL)
|
||||
.output(Items.STRING, 2)
|
||||
.output(.5f, Items.STRING)),
|
||||
|
||||
NETHER_WART = create("nether_wart_block", b -> b.duration(150)
|
||||
.require(Blocks.NETHER_WART_BLOCK)
|
||||
.output(.25f, Items.NETHER_WART, 1)),
|
||||
|
||||
AMETHYST_CLUSTER = create(() -> Blocks.AMETHYST_CLUSTER, b -> b.duration(150)
|
||||
.output(Items.AMETHYST_SHARD, 7)
|
||||
.output(.5f, Items.AMETHYST_SHARD)),
|
||||
|
||||
GLOWSTONE = create(() -> Blocks.GLOWSTONE, b -> b.duration(150)
|
||||
.output(Items.GLOWSTONE_DUST, 3)
|
||||
.output(.5f, Items.GLOWSTONE_DUST)),
|
||||
|
||||
AMETHYST_BLOCK = create(() -> Blocks.AMETHYST_BLOCK, b -> b.duration(150)
|
||||
.output(Items.AMETHYST_SHARD, 3)
|
||||
.output(.5f, Items.AMETHYST_SHARD)),
|
||||
|
||||
GRAVEL = create(() -> Blocks.GRAVEL, b -> b.duration(250)
|
||||
.output(Blocks.SAND)
|
||||
.output(.1f, Items.FLINT)
|
||||
|
@ -192,6 +104,97 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
.output(.5f, AllItems.CINDER_FLOUR.get())
|
||||
.whenModMissing(Mods.ENS.getId())),
|
||||
|
||||
OBSIDIAN = create(() -> Blocks.OBSIDIAN, b -> b.duration(500)
|
||||
.output(AllItems.POWDERED_OBSIDIAN.get())
|
||||
.output(.75f, Blocks.OBSIDIAN)),
|
||||
|
||||
DIORITE = ensMineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350)
|
||||
.output(.25f, Items.QUARTZ, 1)),
|
||||
|
||||
CRIMSITE =
|
||||
mineralRecycling(AllPaletteStoneTypes.CRIMSITE, AllItems.CRUSHED_IRON::get, () -> Items.IRON_NUGGET, .4f),
|
||||
|
||||
VERIDIUM = mineralRecycling(AllPaletteStoneTypes.VERIDIUM, AllItems.CRUSHED_COPPER::get,
|
||||
() -> AllItems.COPPER_NUGGET::get, .8f),
|
||||
|
||||
ASURINE = mineralRecycling(AllPaletteStoneTypes.ASURINE, AllItems.CRUSHED_ZINC::get,
|
||||
() -> AllItems.ZINC_NUGGET::get, .3f),
|
||||
|
||||
OCHRUM =
|
||||
mineralRecycling(AllPaletteStoneTypes.OCHRUM, AllItems.CRUSHED_GOLD::get, () -> Items.GOLD_NUGGET, .2f),
|
||||
|
||||
TUFF = mineralRecycling(AllPaletteStoneTypes.TUFF, b -> b.duration(350)
|
||||
.output(.25f, Items.FLINT, 1)
|
||||
.output(.1f, Items.GOLD_NUGGET, 1)
|
||||
.output(.1f, AllItems.COPPER_NUGGET.get(), 1)
|
||||
.output(.1f, AllItems.ZINC_NUGGET.get(), 1)
|
||||
.output(.1f, Items.IRON_NUGGET, 1)),
|
||||
|
||||
COAL_ORE = stoneOre(() -> Items.COAL_ORE, () -> Items.COAL, 1.75f, 150),
|
||||
IRON_ORE = stoneOre(() -> Items.IRON_ORE, AllItems.CRUSHED_IRON::get, 1.75f, 250),
|
||||
COPPER_ORE = stoneOre(() -> Items.COPPER_ORE, AllItems.CRUSHED_COPPER::get, 5.25f, 250),
|
||||
GOLD_ORE = stoneOre(() -> Items.GOLD_ORE, AllItems.CRUSHED_GOLD::get, 1.75f, 250),
|
||||
REDSTONE_ORE = stoneOre(() -> Items.REDSTONE_ORE, () -> Items.REDSTONE, 6.5f, 250),
|
||||
EMERALD_ORE = stoneOre(() -> Items.EMERALD_ORE, () -> Items.EMERALD, 1.75f, 350),
|
||||
LAPIS_ORE = stoneOre(() -> Items.LAPIS_ORE, () -> Items.LAPIS_LAZULI, 10.5f, 250),
|
||||
DIAMOND_ORE = stoneOre(() -> Items.DIAMOND_ORE, () -> Items.DIAMOND, 1.75f, 350),
|
||||
ZINC_ORE = stoneOre(AllBlocks.ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 1.75f, 250),
|
||||
|
||||
DEEP_COAL_ORE = deepslateOre(() -> Items.DEEPSLATE_COAL_ORE, () -> Items.COAL, 2.25f, 300),
|
||||
DEEP_IRON_ORE = deepslateOre(() -> Items.DEEPSLATE_IRON_ORE, AllItems.CRUSHED_IRON::get, 2.25f, 350),
|
||||
DEEP_COPPER_ORE = deepslateOre(() -> Items.DEEPSLATE_COPPER_ORE, AllItems.CRUSHED_COPPER::get, 7.25f, 350),
|
||||
DEEP_GOLD_ORE = deepslateOre(() -> Items.DEEPSLATE_GOLD_ORE, AllItems.CRUSHED_GOLD::get, 2.25f, 350),
|
||||
DEEP_REDSTONE_ORE = deepslateOre(() -> Items.DEEPSLATE_REDSTONE_ORE, () -> Items.REDSTONE, 7.5f, 350),
|
||||
DEEP_EMERALD_ORE = deepslateOre(() -> Items.DEEPSLATE_EMERALD_ORE, () -> Items.EMERALD, 2.25f, 450),
|
||||
DEEP_LAPIS_ORE = deepslateOre(() -> Items.DEEPSLATE_LAPIS_ORE, () -> Items.LAPIS_LAZULI, 12.5f, 350),
|
||||
DEEP_DIAMOND_ORE = deepslateOre(() -> Items.DEEPSLATE_DIAMOND_ORE, () -> Items.DIAMOND, 2.25f, 450),
|
||||
DEEP_ZINC_ORE = deepslateOre(AllBlocks.DEEPSLATE_ZINC_ORE::get, AllItems.CRUSHED_ZINC::get, 2.25f, 350),
|
||||
|
||||
NETHER_GOLD_ORE = netherOre(() -> Items.NETHER_GOLD_ORE, () -> Items.GOLD_NUGGET, 18, 350),
|
||||
NETHER_QUARTZ_ORE = netherOre(() -> Items.NETHER_QUARTZ_ORE, () -> Items.QUARTZ, 2.25f, 350),
|
||||
|
||||
GILDED_BLACKSTONE = ore(Items.BLACKSTONE, () -> Items.GILDED_BLACKSTONE, () -> Items.GOLD_NUGGET, 18, 400),
|
||||
|
||||
OSMIUM_ORE = moddedOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get),
|
||||
PLATINUM_ORE = moddedOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get),
|
||||
SILVER_ORE = moddedOre(SILVER, AllItems.CRUSHED_SILVER::get),
|
||||
TIN_ORE = moddedOre(TIN, AllItems.CRUSHED_TIN::get),
|
||||
QUICKSILVER_ORE = moddedOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get),
|
||||
LEAD_ORE = moddedOre(LEAD, AllItems.CRUSHED_LEAD::get),
|
||||
ALUMINUM_ORE = moddedOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get),
|
||||
URANIUM_ORE = moddedOre(URANIUM, AllItems.CRUSHED_URANIUM::get),
|
||||
NICKEL_ORE = moddedOre(NICKEL, AllItems.CRUSHED_NICKEL::get),
|
||||
|
||||
RAW_IRON_ORE = rawOre("iron", () -> Tags.Items.RAW_MATERIALS_IRON, AllItems.CRUSHED_IRON::get, 1),
|
||||
RAW_COPPER_ORE = rawOre("copper", () -> Tags.Items.RAW_MATERIALS_COPPER, AllItems.CRUSHED_COPPER::get, 1),
|
||||
RAW_GOLD_ORE = rawOre("gold", () -> Tags.Items.RAW_MATERIALS_GOLD, AllItems.CRUSHED_GOLD::get, 2),
|
||||
RAW_ZINC_ORE = rawOre("zinc", () -> AllTags.forgeItemTag("raw_materials/zinc"), AllItems.CRUSHED_ZINC::get, 1),
|
||||
|
||||
OSMIUM_RAW_ORE = moddedRawOre(OSMIUM, AllItems.CRUSHED_OSMIUM::get),
|
||||
PLATINUM_RAW_ORE = moddedRawOre(PLATINUM, AllItems.CRUSHED_PLATINUM::get),
|
||||
SILVER_RAW_ORE = moddedRawOre(SILVER, AllItems.CRUSHED_SILVER::get),
|
||||
TIN_RAW_ORE = moddedRawOre(TIN, AllItems.CRUSHED_TIN::get),
|
||||
QUICKSILVER_RAW_ORE = moddedRawOre(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get),
|
||||
LEAD_RAW_ORE = moddedRawOre(LEAD, AllItems.CRUSHED_LEAD::get),
|
||||
ALUMINUM_RAW_ORE = moddedRawOre(ALUMINUM, AllItems.CRUSHED_BAUXITE::get),
|
||||
URANIUM_RAW_ORE = moddedRawOre(URANIUM, AllItems.CRUSHED_URANIUM::get),
|
||||
NICKEL_RAW_ORE = moddedRawOre(NICKEL, AllItems.CRUSHED_NICKEL::get),
|
||||
|
||||
RAW_IRON_BLOCK = rawOreBlock("iron", () -> Tags.Items.STORAGE_BLOCKS_RAW_IRON, AllItems.CRUSHED_IRON::get, 1),
|
||||
RAW_COPPER_BLOCK = rawOreBlock("copper", () -> Tags.Items.STORAGE_BLOCKS_RAW_COPPER, AllItems.CRUSHED_COPPER::get, 1),
|
||||
RAW_GOLD_BLOCK = rawOreBlock("gold", () -> Tags.Items.STORAGE_BLOCKS_RAW_GOLD, AllItems.CRUSHED_GOLD::get, 2),
|
||||
RAW_ZINC_BLOCK = rawOreBlock("zinc", () -> AllTags.forgeItemTag("storage_blocks/raw_zinc"), AllItems.CRUSHED_ZINC::get, 1),
|
||||
|
||||
OSMIUM_RAW_BLOCK = moddedRawOreBlock(OSMIUM, AllItems.CRUSHED_OSMIUM::get),
|
||||
PLATINUM_RAW_BLOCK = moddedRawOreBlock(PLATINUM, AllItems.CRUSHED_PLATINUM::get),
|
||||
SILVER_RAW_BLOCK = moddedRawOreBlock(SILVER, AllItems.CRUSHED_SILVER::get),
|
||||
TIN_RAW_BLOCK = moddedRawOreBlock(TIN, AllItems.CRUSHED_TIN::get),
|
||||
QUICKSILVER_RAW_BLOCK = moddedRawOreBlock(QUICKSILVER, AllItems.CRUSHED_QUICKSILVER::get),
|
||||
LEAD_RAW_BLOCK = moddedRawOreBlock(LEAD, AllItems.CRUSHED_LEAD::get),
|
||||
ALUMINUM_RAW_BLOCK = moddedRawOreBlock(ALUMINUM, AllItems.CRUSHED_BAUXITE::get),
|
||||
URANIUM_RAW_BLOCK = moddedRawOreBlock(URANIUM, AllItems.CRUSHED_URANIUM::get),
|
||||
NICKEL_RAW_BLOCK = moddedRawOreBlock(NICKEL, AllItems.CRUSHED_NICKEL::get),
|
||||
|
||||
// AE2
|
||||
AE2_DEEPSLATE_ORE = create(Mods.AE2.recipeId("deepslate_quartz_ore"), b -> b.duration(300)
|
||||
.require(Mods.AE2, "deepslate_quartz_ore")
|
||||
|
@ -431,21 +434,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
|
||||
;
|
||||
|
||||
protected GeneratedRecipe stoneOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.COBBLESTONE, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe deepslateOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.COBBLED_DEEPSLATE, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe netherOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.NETHERRACK, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe mineralRecycling(AllPaletteStoneTypes type, Supplier<ItemLike> crushed,
|
||||
Supplier<ItemLike> nugget, float chance) {
|
||||
return mineralRecycling(type, b -> b.duration(250)
|
||||
|
@ -465,6 +453,21 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
return create(type.getBaseBlock()::get, b -> transform.apply(b.whenModMissing(Mods.ENS.getId())));
|
||||
}
|
||||
|
||||
protected GeneratedRecipe stoneOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.COBBLESTONE, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe deepslateOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.COBBLED_DEEPSLATE, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe netherOre(Supplier<ItemLike> ore, Supplier<ItemLike> raw, float expectedAmount,
|
||||
int duration) {
|
||||
return ore(Blocks.NETHERRACK, ore, raw, expectedAmount, duration);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe ore(ItemLike stoneType, Supplier<ItemLike> ore, Supplier<ItemLike> raw,
|
||||
float expectedAmount, int duration) {
|
||||
return create(ore, b -> {
|
||||
|
@ -478,24 +481,6 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
});
|
||||
}
|
||||
|
||||
protected GeneratedRecipe rawOre(Supplier<ItemLike> input, Supplier<ItemLike> result, int amount) {
|
||||
return create(input, b -> b.duration(400)
|
||||
.output(result.get(), amount)
|
||||
.output(.75f, AllItems.EXP_NUGGET.get(), (result.get() == AllItems.CRUSHED_GOLD.get() ? 2 : 1) * amount));
|
||||
}
|
||||
|
||||
protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier<ItemLike> result, int amount) {
|
||||
String name = metal.getName();
|
||||
return create("raw_" + name + (amount == 1 ? "_ore" : "_block"), b -> {
|
||||
String prefix = amount == 1 ? "raw_materials/" : "storage_blocks/raw_";
|
||||
return b.duration(400)
|
||||
.withCondition(new NotCondition(new TagEmptyCondition("forge", prefix + name)))
|
||||
.require(AllTags.forgeItemTag(prefix + name))
|
||||
.output(result.get(), amount)
|
||||
.output(.75f, AllItems.EXP_NUGGET.get(), amount);
|
||||
});
|
||||
}
|
||||
|
||||
protected GeneratedRecipe moddedOre(CompatMetals metal, Supplier<ItemLike> result) {
|
||||
String name = metal.getName();
|
||||
return create(name + "_ore", b -> {
|
||||
|
@ -509,6 +494,45 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
|||
});
|
||||
}
|
||||
|
||||
protected GeneratedRecipe rawOre(String metalName, Supplier<TagKey<Item>> input, Supplier<ItemLike> result, int xpMult) {
|
||||
return rawOre(metalName, input, result, false, xpMult);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe rawOreBlock(String metalName, Supplier<TagKey<Item>> input, Supplier<ItemLike> result, int xpMult) {
|
||||
return rawOre(metalName, input, result, true, xpMult);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe rawOre(String metalName, Supplier<TagKey<Item>> input, Supplier<ItemLike> result, boolean block, int xpMult) {
|
||||
return create("raw_" + metalName + (block ? "_block" : ""), b -> {
|
||||
int amount = block ? 9 : 1;
|
||||
return b.duration(400)
|
||||
.require(input.get())
|
||||
.output(result.get(), amount)
|
||||
.output(.75f, AllItems.EXP_NUGGET.get(), amount * xpMult);
|
||||
});
|
||||
}
|
||||
|
||||
protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier<ItemLike> result) {
|
||||
return moddedRawOre(metal, result, false);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe moddedRawOreBlock(CompatMetals metal, Supplier<ItemLike> result) {
|
||||
return moddedRawOre(metal, result, true);
|
||||
}
|
||||
|
||||
protected GeneratedRecipe moddedRawOre(CompatMetals metal, Supplier<ItemLike> result, boolean block) {
|
||||
String name = metal.getName();
|
||||
return create("raw_" + name + (block ? "_block" : ""), b -> {
|
||||
int amount = block ? 9 : 1;
|
||||
String tagPath = (block ? "storage_blocks/raw_" : "raw_materials/") + name;
|
||||
return b.duration(400)
|
||||
.withCondition(new NotCondition(new TagEmptyCondition("forge", tagPath)))
|
||||
.require(AllTags.forgeItemTag(tagPath))
|
||||
.output(result.get(), amount)
|
||||
.output(.75f, AllItems.EXP_NUGGET.get(), amount);
|
||||
});
|
||||
}
|
||||
|
||||
protected GeneratedRecipe sgStoneOres(String... types) {
|
||||
for (String type : types) {
|
||||
create(Mods.SILENT_GEMS.recipeId(type + "_ore"), b -> b.duration(350)
|
||||
|
|
|
@ -14,7 +14,7 @@ public class CuttingRecipeGen extends ProcessingRecipeGen {
|
|||
|
||||
GeneratedRecipe
|
||||
|
||||
ANDESITE_ALLOY = create(I::andesite, b -> b.duration(200)
|
||||
ANDESITE_ALLOY = create(I::andesiteAlloy, b -> b.duration(200)
|
||||
.output(AllBlocks.SHAFT.get(), 6)),
|
||||
|
||||
OAK_WOOD = stripAndMakePlanks(Blocks.OAK_WOOD, Blocks.STRIPPED_OAK_WOOD, Blocks.OAK_PLANKS),
|
||||
|
|
|
@ -13,8 +13,8 @@ import net.minecraft.world.level.ItemLike;
|
|||
|
||||
public class ItemApplicationRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesite, I::andesiteCasing);
|
||||
GeneratedRecipe COPPER = woodCasing("copper", I::copper, I::copperCasing);
|
||||
GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesiteAlloy, I::andesiteCasing);
|
||||
GeneratedRecipe COPPER = woodCasingTag("copper", I::copper, I::copperCasing);
|
||||
GeneratedRecipe BRASS = woodCasingTag("brass", I::brass, I::brassCasing);
|
||||
GeneratedRecipe RAILWAY = create("railway_casing", b -> b.require(I.brassCasing())
|
||||
.require(I.sturdySheet())
|
||||
|
|
|
@ -22,7 +22,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider {
|
|||
CRUSHING_WHEEL = create(AllBlocks.CRUSHING_WHEEL::get).returns(2)
|
||||
.recipe(b -> b.key('P', Ingredient.of(ItemTags.PLANKS))
|
||||
.key('S', Ingredient.of(I.stone()))
|
||||
.key('A', I.andesite())
|
||||
.key('A', I.andesiteAlloy())
|
||||
.patternLine(" AAA ")
|
||||
.patternLine("AAPAA")
|
||||
.patternLine("APSPA")
|
||||
|
@ -55,7 +55,7 @@ public class MechanicalCraftingRecipeGen extends CreateRecipeProvider {
|
|||
.disallowMirrored()),
|
||||
|
||||
POTATO_CANNON = create(AllItems.POTATO_CANNON::get).returns(1)
|
||||
.recipe(b -> b.key('L', I.andesite())
|
||||
.recipe(b -> b.key('L', I.andesiteAlloy())
|
||||
.key('R', I.precisionMechanism())
|
||||
.key('S', AllBlocks.FLUID_PIPE.get())
|
||||
.key('C', Ingredient.of(I.copper()))
|
||||
|
|
|
@ -53,11 +53,11 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
|
|||
|
||||
ANDESITE_ALLOY = create("andesite_alloy", b -> b.require(Blocks.ANDESITE)
|
||||
.require(I.ironNugget())
|
||||
.output(I.andesite(), 1)),
|
||||
.output(I.andesiteAlloy(), 1)),
|
||||
|
||||
ANDESITE_ALLOY_FROM_ZINC = create("andesite_alloy_from_zinc", b -> b.require(Blocks.ANDESITE)
|
||||
.require(I.zincNugget())
|
||||
.output(I.andesite(), 1)),
|
||||
.output(I.andesiteAlloy(), 1)),
|
||||
|
||||
MUD = create("mud_by_mixing", b -> b.require(BlockTagIngredient.create(BlockTags.CONVERTABLE_TO_MUD))
|
||||
.require(Fluids.WATER, 250)
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.util.stream.Stream;
|
|||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.AllTags.AllItemTags;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.fluids.transfer.FillingRecipe;
|
||||
|
|
|
@ -82,10 +82,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("CCC")),
|
||||
|
||||
COPPER_NUGGET = create(AllItems.COPPER_NUGGET).returns(9)
|
||||
.unlockedBy(() -> Items.COPPER_INGOT)
|
||||
.unlockedByTag(I::copper)
|
||||
.viaShapeless(b -> b.requires(I.copper())),
|
||||
|
||||
COPPER_INGOT = create(() -> Items.COPPER_INGOT).unlockedBy(AllItems.COPPER_NUGGET::get)
|
||||
COPPER_INGOT = create(() -> Items.COPPER_INGOT).unlockedByTag(I::copperNugget)
|
||||
.viaShaped(b -> b.define('C', I.copperNugget())
|
||||
.pattern("CCC")
|
||||
.pattern("CCC")
|
||||
|
@ -93,11 +93,11 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
ANDESITE_ALLOY_FROM_BLOCK = create(AllItems.ANDESITE_ALLOY).withSuffix("_from_block")
|
||||
.returns(9)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShapeless(b -> b.requires(AllBlocks.ANDESITE_ALLOY_BLOCK.get())),
|
||||
|
||||
ANDESITE_ALLOY_BLOCK = create(AllBlocks.ANDESITE_ALLOY_BLOCK).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('C', I.andesite())
|
||||
ANDESITE_ALLOY_BLOCK = create(AllBlocks.ANDESITE_ALLOY_BLOCK).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('C', I.andesiteAlloy())
|
||||
.pattern("CCC")
|
||||
.pattern("CCC")
|
||||
.pattern("CCC")),
|
||||
|
@ -172,8 +172,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
TOOLBOX_DYEING = createSpecial(AllRecipeTypes.TOOLBOX_DYEING::getSerializer, "crafting", "toolbox_dyeing"),
|
||||
|
||||
MINECART_COUPLING = create(AllItems.MINECART_COUPLING).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('E', I.andesite())
|
||||
MINECART_COUPLING = create(AllItems.MINECART_COUPLING).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('E', I.andesiteAlloy())
|
||||
.define('O', I.ironSheet())
|
||||
.pattern(" E")
|
||||
.pattern(" O ")
|
||||
|
@ -198,19 +198,19 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
private Marker KINETICS = enterFolder("kinetics");
|
||||
|
||||
GeneratedRecipe BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
GeneratedRecipe BASIN = create(AllBlocks.BASIN).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.pattern("A A")
|
||||
.pattern("AAA")),
|
||||
|
||||
GOGGLES = create(AllItems.GOGGLES).unlockedBy(I::andesite)
|
||||
GOGGLES = create(AllItems.GOGGLES).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('G', Tags.Items.GLASS)
|
||||
.define('P', I.goldSheet())
|
||||
.define('S', Tags.Items.STRING)
|
||||
.pattern(" S ")
|
||||
.pattern("GPG")),
|
||||
|
||||
WRENCH = create(AllItems.WRENCH).unlockedBy(I::andesite)
|
||||
WRENCH = create(AllItems.WRENCH).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('G', I.goldSheet())
|
||||
.define('P', I.cog())
|
||||
.define('S', Tags.Items.RODS_WOODEN)
|
||||
|
@ -218,7 +218,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("GP")
|
||||
.pattern(" S")),
|
||||
|
||||
FILTER = create(AllItems.FILTER).unlockedBy(I::andesite)
|
||||
FILTER = create(AllItems.FILTER).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', ItemTags.WOOL)
|
||||
.define('A', Tags.Items.NUGGETS_IRON)
|
||||
.pattern("ASA")),
|
||||
|
@ -229,7 +229,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("ASA")),
|
||||
|
||||
BRASS_HAND = create(AllItems.BRASS_HAND).unlockedByTag(I::brass)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('B', I.brassSheet())
|
||||
.pattern(" A ")
|
||||
.pattern("BBB")
|
||||
|
@ -246,21 +246,21 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.viaShaped(b -> b.define('A', I.brassNugget())
|
||||
.pattern("AAA")),
|
||||
|
||||
COGWHEEL = create(AllBlocks.COGWHEEL).unlockedBy(I::andesite)
|
||||
COGWHEEL = create(AllBlocks.COGWHEEL).unlockedBy(I::andesiteAlloy)
|
||||
.viaShapeless(b -> b.requires(I.shaft())
|
||||
.requires(I.planks())),
|
||||
|
||||
LARGE_COGWHEEL = create(AllBlocks.LARGE_COGWHEEL).unlockedBy(I::andesite)
|
||||
LARGE_COGWHEEL = create(AllBlocks.LARGE_COGWHEEL).unlockedBy(I::andesiteAlloy)
|
||||
.viaShapeless(b -> b.requires(I.shaft())
|
||||
.requires(I.planks())
|
||||
.requires(I.planks())),
|
||||
|
||||
LARGE_COGWHEEL_FROM_LITTLE = create(AllBlocks.LARGE_COGWHEEL).withSuffix("_from_little")
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShapeless(b -> b.requires(I.cog())
|
||||
.requires(I.planks())),
|
||||
|
||||
WATER_WHEEL = create(AllBlocks.WATER_WHEEL).unlockedBy(I::andesite)
|
||||
WATER_WHEEL = create(AllBlocks.WATER_WHEEL).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', I.planks())
|
||||
.define('C', I.shaft())
|
||||
.pattern("SSS")
|
||||
|
@ -275,8 +275,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("SSS")),
|
||||
|
||||
SHAFT = create(AllBlocks.SHAFT).returns(8)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.pattern("A")
|
||||
.pattern("A")),
|
||||
|
||||
|
@ -304,21 +304,21 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("C")
|
||||
.pattern("I")),
|
||||
|
||||
STICKY_MECHANICAL_PISTON = create(AllBlocks.STICKY_MECHANICAL_PISTON).unlockedBy(I::andesite)
|
||||
STICKY_MECHANICAL_PISTON = create(AllBlocks.STICKY_MECHANICAL_PISTON).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', Tags.Items.SLIMEBALLS)
|
||||
.define('P', AllBlocks.MECHANICAL_PISTON.get())
|
||||
.pattern("S")
|
||||
.pattern("P")),
|
||||
|
||||
TURNTABLE = create(AllBlocks.TURNTABLE).unlockedBy(I::andesite)
|
||||
TURNTABLE = create(AllBlocks.TURNTABLE).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', I.shaft())
|
||||
.define('P', ItemTags.WOODEN_SLABS)
|
||||
.pattern("P")
|
||||
.pattern("S")),
|
||||
|
||||
PISTON_EXTENSION_POLE = create(AllBlocks.PISTON_EXTENSION_POLE).returns(8)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('P', ItemTags.PLANKS)
|
||||
.pattern("P")
|
||||
.pattern("A")
|
||||
|
@ -333,8 +333,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("I")),
|
||||
|
||||
GANTRY_SHAFT = create(AllBlocks.GANTRY_SHAFT).returns(8)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('R', I.redstone())
|
||||
.pattern("A")
|
||||
.pattern("R")
|
||||
|
@ -380,7 +380,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.viaShapeless(b -> b.requires(ItemTags.WOODEN_TRAPDOORS)
|
||||
.requires(AllPaletteBlocks.FRAMED_GLASS.get())),
|
||||
|
||||
ANALOG_LEVER = create(AllBlocks.ANALOG_LEVER).unlockedBy(I::andesite)
|
||||
ANALOG_LEVER = create(AllBlocks.ANALOG_LEVER).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', I.andesiteCasing())
|
||||
.define('P', Tags.Items.RODS_WOODEN)
|
||||
.pattern("P")
|
||||
|
@ -391,7 +391,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.requires(I.redstone())
|
||||
.requires(I.zinc())),
|
||||
|
||||
BELT_CONNECTOR = create(AllItems.BELT_CONNECTOR).unlockedBy(I::andesite)
|
||||
BELT_CONNECTOR = create(AllItems.BELT_CONNECTOR).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('D', Items.DRIED_KELP)
|
||||
.pattern("DDD")
|
||||
.pattern("DDD")),
|
||||
|
@ -400,10 +400,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.viaShapeless(b -> b.requires(AllBlocks.ENCASED_CHAIN_DRIVE.get())
|
||||
.requires(I.electronTube())),
|
||||
|
||||
CART_ASSEMBLER = create(AllBlocks.CART_ASSEMBLER).unlockedBy(I::andesite)
|
||||
CART_ASSEMBLER = create(AllBlocks.CART_ASSEMBLER).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('L', ItemTags.LOGS)
|
||||
.define('R', I.redstone())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern("CRC")
|
||||
.pattern("L L")),
|
||||
|
||||
|
@ -416,24 +416,24 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("ASA")
|
||||
.pattern("AEA")),
|
||||
|
||||
HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('C', ItemTags.PLANKS)
|
||||
.pattern("CCC")
|
||||
.pattern(" A")),
|
||||
|
||||
COPPER_VALVE_HANDLE = create(AllBlocks.COPPER_VALVE_HANDLE).unlockedBy(I::copper)
|
||||
.viaShaped(b -> b.define('S', I.andesite())
|
||||
COPPER_VALVE_HANDLE = create(AllBlocks.COPPER_VALVE_HANDLE).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('S', I.andesiteAlloy())
|
||||
.define('C', I.copperSheet())
|
||||
.pattern("CCC")
|
||||
.pattern(" S ")),
|
||||
|
||||
COPPER_VALVE_HANDLE_FROM_OTHER_HANDLES = create(AllBlocks.COPPER_VALVE_HANDLE).withSuffix("_from_others")
|
||||
.unlockedBy(I::copper)
|
||||
.unlockedByTag(I::copper)
|
||||
.viaShapeless(b -> b.requires(AllItemTags.VALVE_HANDLES.tag)),
|
||||
|
||||
NOZZLE = create(AllBlocks.NOZZLE).unlockedBy(AllBlocks.ENCASED_FAN::get)
|
||||
.viaShaped(b -> b.define('S', I.andesite())
|
||||
.viaShaped(b -> b.define('S', I.andesiteAlloy())
|
||||
.define('C', ItemTags.WOOL)
|
||||
.pattern(" S ")
|
||||
.pattern(" C ")
|
||||
|
@ -441,14 +441,14 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
PROPELLER = create(AllItems.PROPELLER).unlockedByTag(I::ironSheet)
|
||||
.viaShaped(b -> b.define('S', I.ironSheet())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern(" S ")
|
||||
.pattern("SCS")
|
||||
.pattern(" S ")),
|
||||
|
||||
WHISK = create(AllItems.WHISK).unlockedByTag(I::ironSheet)
|
||||
.viaShaped(b -> b.define('S', I.ironSheet())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern(" C ")
|
||||
.pattern("SCS")
|
||||
.pattern("SSS")),
|
||||
|
@ -461,7 +461,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("A")
|
||||
.pattern("P")),
|
||||
|
||||
CUCKOO_CLOCK = create(AllBlocks.CUCKOO_CLOCK).unlockedBy(I::andesite)
|
||||
CUCKOO_CLOCK = create(AllBlocks.CUCKOO_CLOCK).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', ItemTags.PLANKS)
|
||||
.define('A', Items.CLOCK)
|
||||
.define('C', I.andesiteCasing())
|
||||
|
@ -478,7 +478,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("C")
|
||||
.pattern("R")),
|
||||
|
||||
WINDMILL_BEARING = create(AllBlocks.WINDMILL_BEARING).unlockedBy(I::andesite)
|
||||
WINDMILL_BEARING = create(AllBlocks.WINDMILL_BEARING).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS)
|
||||
.define('C', I.stone())
|
||||
.define('I', I.shaft())
|
||||
|
@ -503,68 +503,68 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("S")),
|
||||
|
||||
WOODEN_BRACKET = create(AllBlocks.WOODEN_BRACKET).returns(4)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', Tags.Items.RODS_WOODEN)
|
||||
.define('P', I.planks())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern("SSS")
|
||||
.pattern("PCP")),
|
||||
|
||||
METAL_BRACKET = create(AllBlocks.METAL_BRACKET).returns(4)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('S', Tags.Items.NUGGETS_IRON)
|
||||
.define('P', I.iron())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern("SSS")
|
||||
.pattern("PCP")),
|
||||
|
||||
METAL_GIRDER = create(AllBlocks.METAL_GIRDER).returns(8)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('P', I.ironSheet())
|
||||
.define('C', I.andesite())
|
||||
.define('C', I.andesiteAlloy())
|
||||
.pattern("PPP")
|
||||
.pattern("CCC")),
|
||||
|
||||
DISPLAY_BOARD = create(AllBlocks.DISPLAY_BOARD).returns(2)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.electronTube())
|
||||
.define('P', I.andesite())
|
||||
.define('P', I.andesiteAlloy())
|
||||
.pattern("PAP")),
|
||||
|
||||
STEAM_WHISTLE = create(AllBlocks.STEAM_WHISTLE).unlockedBy(I::copper)
|
||||
STEAM_WHISTLE = create(AllBlocks.STEAM_WHISTLE).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('P', I.goldSheet())
|
||||
.define('C', I.copper())
|
||||
.pattern("P")
|
||||
.pattern("C")),
|
||||
|
||||
STEAM_ENGINE = create(AllBlocks.STEAM_ENGINE).unlockedBy(I::copper)
|
||||
STEAM_ENGINE = create(AllBlocks.STEAM_ENGINE).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('P', I.goldSheet())
|
||||
.define('C', I.copperBlock())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.pattern("P")
|
||||
.pattern("A")
|
||||
.pattern("C")),
|
||||
|
||||
FLUID_PIPE = create(AllBlocks.FLUID_PIPE).returns(4)
|
||||
.unlockedBy(I::copper)
|
||||
.unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('S', I.copperSheet())
|
||||
.define('C', I.copper())
|
||||
.pattern("SCS")),
|
||||
|
||||
FLUID_PIPE_2 = create(AllBlocks.FLUID_PIPE).withSuffix("_vertical")
|
||||
.returns(4)
|
||||
.unlockedBy(I::copper)
|
||||
.unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('S', I.copperSheet())
|
||||
.define('C', I.copper())
|
||||
.pattern("S")
|
||||
.pattern("C")
|
||||
.pattern("S")),
|
||||
|
||||
MECHANICAL_PUMP = create(AllBlocks.MECHANICAL_PUMP).unlockedBy(I::copper)
|
||||
MECHANICAL_PUMP = create(AllBlocks.MECHANICAL_PUMP).unlockedByTag(I::copper)
|
||||
.viaShapeless(b -> b.requires(I.cog())
|
||||
.requires(AllBlocks.FLUID_PIPE.get())),
|
||||
|
||||
SMART_FLUID_PIPE = create(AllBlocks.SMART_FLUID_PIPE).unlockedBy(I::copper)
|
||||
SMART_FLUID_PIPE = create(AllBlocks.SMART_FLUID_PIPE).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('P', I.electronTube())
|
||||
.define('S', AllBlocks.FLUID_PIPE.get())
|
||||
.define('I', I.brassSheet())
|
||||
|
@ -572,7 +572,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("S")
|
||||
.pattern("P")),
|
||||
|
||||
FLUID_VALVE = create(AllBlocks.FLUID_VALVE).unlockedBy(I::copper)
|
||||
FLUID_VALVE = create(AllBlocks.FLUID_VALVE).unlockedByTag(I::copper)
|
||||
.viaShapeless(b -> b.requires(I.ironSheet())
|
||||
.requires(AllBlocks.FLUID_PIPE.get())),
|
||||
|
||||
|
@ -653,7 +653,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.viaShapeless(b -> b.requires(I.copperCasing())
|
||||
.requires(AllBlocks.CHUTE.get())),
|
||||
|
||||
ROPE_PULLEY = create(AllBlocks.ROPE_PULLEY).unlockedBy(I::andesite)
|
||||
ROPE_PULLEY = create(AllBlocks.ROPE_PULLEY).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('B', I.andesiteCasing())
|
||||
.define('C', ItemTags.WOOL)
|
||||
.define('I', I.ironSheet())
|
||||
|
@ -661,7 +661,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("C")
|
||||
.pattern("I")),
|
||||
|
||||
HOSE_PULLEY = create(AllBlocks.HOSE_PULLEY).unlockedBy(I::copper)
|
||||
HOSE_PULLEY = create(AllBlocks.HOSE_PULLEY).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('B', I.copperCasing())
|
||||
.define('C', Items.DRIED_KELP_BLOCK)
|
||||
.define('I', I.copperSheet())
|
||||
|
@ -677,7 +677,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("C")
|
||||
.pattern("I")),
|
||||
|
||||
CONTRAPTION_CONTROLS = create(AllBlocks.CONTRAPTION_CONTROLS).unlockedBy(I::andesite)
|
||||
CONTRAPTION_CONTROLS = create(AllBlocks.CONTRAPTION_CONTROLS).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('B', ItemTags.BUTTONS)
|
||||
.define('C', I.andesiteCasing())
|
||||
.define('I', I.electronTube())
|
||||
|
@ -692,7 +692,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("IAI")
|
||||
.pattern(" I ")),
|
||||
|
||||
CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesite)
|
||||
CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesiteAlloy)
|
||||
.returns(4)
|
||||
.viaShaped(b -> b.define('A', I.ironSheet())
|
||||
.define('I', I.iron())
|
||||
|
@ -709,7 +709,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("P")),
|
||||
|
||||
DEPOT = create(AllBlocks.DEPOT).unlockedBy(I::andesiteCasing)
|
||||
.viaShapeless(b -> b.requires(I.andesite())
|
||||
.viaShapeless(b -> b.requires(I.andesiteAlloy())
|
||||
.requires(I.andesiteCasing())),
|
||||
|
||||
WEIGHTED_EJECTOR = create(AllBlocks.WEIGHTED_EJECTOR).unlockedBy(I::andesiteCasing)
|
||||
|
@ -724,13 +724,13 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.returns(1)
|
||||
.viaShaped(b -> b.define('L', I.brassSheet())
|
||||
.define('I', I.precisionMechanism())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.define('C', I.brassCasing())
|
||||
.pattern("LLA")
|
||||
.pattern("L ")
|
||||
.pattern("IC ")),
|
||||
|
||||
MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesite)
|
||||
MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('C', I.andesiteCasing())
|
||||
.define('S', I.cog())
|
||||
.define('I', AllItems.WHISK.get())
|
||||
|
@ -749,26 +749,26 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.requires(I.redstone())),
|
||||
|
||||
SAIL = create(AllBlocks.SAIL).returns(2)
|
||||
.unlockedBy(I::andesite)
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('W', ItemTags.WOOL)
|
||||
.define('S', Tags.Items.RODS_WOODEN)
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.pattern("WS")
|
||||
.pattern("SA")),
|
||||
|
||||
SAIL_CYCLE = conversionCycle(ImmutableList.of(AllBlocks.SAIL_FRAME, AllBlocks.SAIL)),
|
||||
|
||||
RADIAL_CHASIS = create(AllBlocks.RADIAL_CHASSIS).returns(3)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('P', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('P', I.andesiteAlloy())
|
||||
.define('L', ItemTags.LOGS)
|
||||
.pattern(" L ")
|
||||
.pattern("PLP")
|
||||
.pattern(" L ")),
|
||||
|
||||
LINEAR_CHASIS = create(AllBlocks.LINEAR_CHASSIS).returns(3)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('P', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('P', I.andesiteAlloy())
|
||||
.define('L', ItemTags.LOGS)
|
||||
.pattern(" P ")
|
||||
.pattern("LLL")
|
||||
|
@ -778,8 +778,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
conversionCycle(ImmutableList.of(AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS)),
|
||||
|
||||
STICKER = create(AllBlocks.STICKER).returns(1)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('I', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('I', I.andesiteAlloy())
|
||||
.define('C', Tags.Items.COBBLESTONE)
|
||||
.define('R', I.redstone())
|
||||
.define('S', Tags.Items.SLIMEBALLS)
|
||||
|
@ -830,7 +830,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("CAC")
|
||||
.pattern("CCC")),
|
||||
|
||||
SPEEDOMETER = create(AllBlocks.SPEEDOMETER).unlockedBy(I::andesite)
|
||||
SPEEDOMETER = create(AllBlocks.SPEEDOMETER).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('C', Items.COMPASS)
|
||||
.define('A', I.andesiteCasing())
|
||||
.pattern("C")
|
||||
|
@ -859,7 +859,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
MECHANICAL_HARVESTER = create(AllBlocks.MECHANICAL_HARVESTER).unlockedBy(I::andesiteCasing)
|
||||
.viaShaped(b -> b.define('C', I.andesiteCasing())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.define('I', I.ironSheet())
|
||||
.pattern("AIA")
|
||||
.pattern("AIA")
|
||||
|
@ -867,7 +867,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
MECHANICAL_PLOUGH = create(AllBlocks.MECHANICAL_PLOUGH).unlockedBy(I::andesiteCasing)
|
||||
.viaShaped(b -> b.define('C', I.andesiteCasing())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.define('I', I.ironSheet())
|
||||
.pattern("III")
|
||||
.pattern("AAA")
|
||||
|
@ -883,7 +883,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
|
||||
MECHANICAL_DRILL = create(AllBlocks.MECHANICAL_DRILL).unlockedBy(I::andesiteCasing)
|
||||
.viaShaped(b -> b.define('C', I.andesiteCasing())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.define('I', I.iron())
|
||||
.pattern(" A ")
|
||||
.pattern("AIA")
|
||||
|
@ -910,8 +910,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("CCC")),
|
||||
|
||||
ANDESITE_FUNNEL = create(AllBlocks.ANDESITE_FUNNEL).returns(2)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('K', Items.DRIED_KELP)
|
||||
.pattern("A")
|
||||
.pattern("K")),
|
||||
|
@ -926,8 +926,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("K")),
|
||||
|
||||
ANDESITE_TUNNEL = create(AllBlocks.ANDESITE_TUNNEL).returns(2)
|
||||
.unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.define('A', I.andesite())
|
||||
.unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('A', I.andesiteAlloy())
|
||||
.define('K', Items.DRIED_KELP)
|
||||
.pattern("AA")
|
||||
.pattern("KK")),
|
||||
|
@ -1061,10 +1061,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.viaShapeless(b -> b.requires(I.wheatFlour())
|
||||
.requires(Items.WATER_BUCKET)),
|
||||
|
||||
CLIPBOARD = create(AllBlocks.CLIPBOARD).unlockedBy(I::andesite)
|
||||
CLIPBOARD = create(AllBlocks.CLIPBOARD).unlockedBy(I::andesiteAlloy)
|
||||
.viaShaped(b -> b.define('G', I.planks())
|
||||
.define('P', Items.PAPER)
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.pattern("A")
|
||||
.pattern("P")
|
||||
.pattern("G")),
|
||||
|
@ -1072,23 +1072,23 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
CLIPBOARD_CLEAR = clearData(AllBlocks.CLIPBOARD), SCHEDULE_CLEAR = clearData(AllItems.SCHEDULE),
|
||||
FILTER_CLEAR = clearData(AllItems.FILTER), ATTRIBUTE_FILTER_CLEAR = clearData(AllItems.ATTRIBUTE_FILTER),
|
||||
|
||||
DIVING_HELMET = create(AllItems.COPPER_DIVING_HELMET).unlockedBy(I::copper)
|
||||
DIVING_HELMET = create(AllItems.COPPER_DIVING_HELMET).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('G', Tags.Items.GLASS)
|
||||
.define('P', I.copper())
|
||||
.pattern("PPP")
|
||||
.pattern("PGP")),
|
||||
|
||||
COPPER_BACKTANK = create(AllItems.COPPER_BACKTANK).unlockedBy(I::copper)
|
||||
COPPER_BACKTANK = create(AllItems.COPPER_BACKTANK).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('G', I.shaft())
|
||||
.define('A', I.andesite())
|
||||
.define('A', I.andesiteAlloy())
|
||||
.define('B', I.copperBlock())
|
||||
.define('P', I.copper())
|
||||
.pattern("AGA")
|
||||
.pattern("PBP")
|
||||
.pattern(" P ")),
|
||||
|
||||
DIVING_BOOTS = create(AllItems.COPPER_DIVING_BOOTS).unlockedBy(I::copper)
|
||||
.viaShaped(b -> b.define('G', I.andesite())
|
||||
DIVING_BOOTS = create(AllItems.COPPER_DIVING_BOOTS).unlockedByTag(I::copper)
|
||||
.viaShaped(b -> b.define('G', I.andesiteAlloy())
|
||||
.define('P', I.copper())
|
||||
.pattern("P P")
|
||||
.pattern("P P")
|
||||
|
@ -1172,7 +1172,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.inBlastFurnace(),
|
||||
|
||||
RAW_ZINC_ORE = create(AllItems.ZINC_INGOT::get).withSuffix("_from_raw_ore")
|
||||
.viaCooking(AllItems.RAW_ZINC::get)
|
||||
.viaCookingTag(() -> AllTags.forgeItemTag("raw_materials/zinc"))
|
||||
.rewardXP(.7f)
|
||||
.inBlastFurnace(),
|
||||
|
||||
|
|
|
@ -43,14 +43,9 @@ public class OpenCreateMenuButton extends Button {
|
|||
ScreenOpener.open(new CreateMainMenuScreen(Minecraft.getInstance().screen));
|
||||
}
|
||||
|
||||
public static class SingleMenuRow {
|
||||
public final String left, right;
|
||||
public SingleMenuRow(String left, String right) {
|
||||
this.left = I18n.get(left);
|
||||
this.right = I18n.get(right);
|
||||
}
|
||||
public SingleMenuRow(String center) {
|
||||
this(center, center);
|
||||
public record SingleMenuRow(String leftTextKey, String rightTextKey) {
|
||||
public SingleMenuRow(String centerTextKey) {
|
||||
this(centerTextKey, centerTextKey);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,11 +65,11 @@ public class OpenCreateMenuButton extends Button {
|
|||
new SingleMenuRow("menu.returnToMenu")
|
||||
));
|
||||
|
||||
protected final List<String> leftButtons, rightButtons;
|
||||
protected final List<String> leftTextKeys, rightTextKeys;
|
||||
|
||||
public MenuRows(List<SingleMenuRow> variants) {
|
||||
leftButtons = variants.stream().map(r -> r.left).collect(Collectors.toList());
|
||||
rightButtons = variants.stream().map(r -> r.right).collect(Collectors.toList());
|
||||
public MenuRows(List<SingleMenuRow> rows) {
|
||||
leftTextKeys = rows.stream().map(SingleMenuRow::leftTextKey).collect(Collectors.toList());
|
||||
rightTextKeys = rows.stream().map(SingleMenuRow::rightTextKey).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -83,39 +78,44 @@ public class OpenCreateMenuButton extends Button {
|
|||
|
||||
@SubscribeEvent
|
||||
public static void onGuiInit(ScreenEvent.Init event) {
|
||||
Screen gui = event.getScreen();
|
||||
Screen screen = event.getScreen();
|
||||
|
||||
MenuRows menu = null;
|
||||
int rowIdx = 0, offsetX = 0;
|
||||
if (gui instanceof TitleScreen) {
|
||||
MenuRows menu;
|
||||
int rowIdx;
|
||||
int offsetX;
|
||||
if (screen instanceof TitleScreen) {
|
||||
menu = MenuRows.MAIN_MENU;
|
||||
rowIdx = AllConfigs.client().mainMenuConfigButtonRow.get();
|
||||
offsetX = AllConfigs.client().mainMenuConfigButtonOffsetX.get();
|
||||
} else if (gui instanceof PauseScreen) {
|
||||
} else if (screen instanceof PauseScreen) {
|
||||
menu = MenuRows.INGAME_MENU;
|
||||
rowIdx = AllConfigs.client().ingameMenuConfigButtonRow.get();
|
||||
offsetX = AllConfigs.client().ingameMenuConfigButtonOffsetX.get();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
if (rowIdx != 0 && menu != null) {
|
||||
boolean onLeft = offsetX < 0;
|
||||
String target = (onLeft ? menu.leftButtons : menu.rightButtons).get(rowIdx - 1);
|
||||
|
||||
int offsetX_ = offsetX;
|
||||
MutableObject<GuiEventListener> toAdd = new MutableObject<>(null);
|
||||
event.getListenersList()
|
||||
.stream()
|
||||
.filter(w -> w instanceof AbstractWidget)
|
||||
.map(w -> (AbstractWidget) w)
|
||||
.filter(w -> w.getMessage()
|
||||
.getString()
|
||||
.equals(target))
|
||||
.findFirst()
|
||||
.ifPresent(w -> toAdd
|
||||
.setValue(new OpenCreateMenuButton(w.x + offsetX_ + (onLeft ? -20 : w.getWidth()), w.y)));
|
||||
if (toAdd.getValue() != null)
|
||||
event.addListener(toAdd.getValue());
|
||||
if (rowIdx == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean onLeft = offsetX < 0;
|
||||
String targetMessage = I18n.get((onLeft ? menu.leftTextKeys : menu.rightTextKeys).get(rowIdx - 1));
|
||||
|
||||
int offsetX_ = offsetX;
|
||||
MutableObject<GuiEventListener> toAdd = new MutableObject<>(null);
|
||||
event.getListenersList()
|
||||
.stream()
|
||||
.filter(w -> w instanceof AbstractWidget)
|
||||
.map(w -> (AbstractWidget) w)
|
||||
.filter(w -> w.getMessage()
|
||||
.getString()
|
||||
.equals(targetMessage))
|
||||
.findFirst()
|
||||
.ifPresent(w -> toAdd
|
||||
.setValue(new OpenCreateMenuButton(w.x + offsetX_ + (onLeft ? -20 : w.getWidth()), w.y)));
|
||||
if (toAdd.getValue() != null)
|
||||
event.addListener(toAdd.getValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -750,7 +750,7 @@ public class RedstoneScenes {
|
|||
scene.idle(10);
|
||||
scene.overlay.showText(70)
|
||||
.colored(PonderPalette.GREEN)
|
||||
.text("Receivers emit the redstone power of transmitters within 128 blocks")
|
||||
.text("Receivers emit the redstone power of transmitters within 256 blocks")
|
||||
.placeNearTarget()
|
||||
.pointAt(link2Vec);
|
||||
scene.idle(80);
|
||||
|
|
|
@ -33,6 +33,6 @@ Technology that empowers the player.'''
|
|||
[[dependencies.create]]
|
||||
modId="flywheel"
|
||||
mandatory=true
|
||||
versionRange="[0.6.10,0.6.11)"
|
||||
versionRange="[0.6.11,0.6.12)"
|
||||
ordering="AFTER"
|
||||
side="CLIENT"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"parent": "block/thin_block",
|
||||
"textures": {
|
||||
"1": "create:block/copycat_base",
|
||||
"2": "create:block/copycat_base",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"parent": "block/thin_block",
|
||||
"textures": {
|
||||
"0": "create:block/glass_door_side",
|
||||
"1": "create:block/palettes/framed_glass",
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/glass_door_side",
|
||||
"1": "create:block/palettes/framed_glass",
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/glass_door_side",
|
||||
"1": "create:block/palettes/framed_glass",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"parent": "block/thin_block",
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/train_door_side",
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/train_door_side",
|
||||
"1": "create:block/train_trapdoor",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/train_door_side",
|
||||
|
|
|
@ -1,54 +1,44 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"bars": "block/iron_bars",
|
||||
"edge": "block/iron_bars_edge"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 8],
|
||||
"to": [16, 16, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"from": [8, 0, 0],
|
||||
"to": [8, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#bars"},
|
||||
"south": {"uv": [16, 0, 0, 16], "texture": "#bars"}
|
||||
"east": {"uv": [16, 0, 0, 16], "texture": "#bars"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#bars"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15.95, 0, 7],
|
||||
"to": [16, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"from": [7, 0, 15.95],
|
||||
"to": [9, 16, 16],
|
||||
"faces": {
|
||||
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "east"},
|
||||
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "east"}
|
||||
"north": {"uv": [9, 16, 7, 0], "texture": "#bars"},
|
||||
"south": {"uv": [7, 16, 9, 0], "texture": "#bars"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 7],
|
||||
"to": [0.05, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"from": [7, 0, 0],
|
||||
"to": [9, 16, 0.05],
|
||||
"faces": {
|
||||
"east": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#bars", "cullface": "west"},
|
||||
"west": {"uv": [9, 16, 7, 0], "rotation": 180, "texture": "#bars", "cullface": "west"}
|
||||
"north": {"uv": [7, 16, 9, 0], "texture": "#bars"},
|
||||
"south": {"uv": [9, 16, 7, 0], "texture": "#bars"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15.95, 7],
|
||||
"to": [16, 16, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"from": [7, 15.95, 0],
|
||||
"to": [9, 16, 16],
|
||||
"faces": {
|
||||
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "up"},
|
||||
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "up"}
|
||||
"up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"},
|
||||
"down": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 7],
|
||||
"to": [16, 0.05, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"from": [7, 0, 0],
|
||||
"to": [9, 0.05, 16],
|
||||
"faces": {
|
||||
"up": {"uv": [9, 0, 7, 16], "rotation": 270, "texture": "#edge", "cullface": "down"},
|
||||
"down": {"uv": [9, 0, 7, 16], "rotation": 90, "texture": "#edge", "cullface": "down"}
|
||||
"up": {"uv": [7, 16, 9, 0], "rotation": 180, "texture": "#edge"},
|
||||
"down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -76,10 +66,11 @@
|
|||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"rotation": [30, 45, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ 0, 270, 0 ],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,16 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "#edge",
|
||||
"1": "#pane",
|
||||
"particle": "#pane"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 7],
|
||||
"to": [16, 16, 9],
|
||||
"from": [7, 0, 0],
|
||||
"to": [9, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"east": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"west": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#0"},
|
||||
"up": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [7, 0, 9, 16], "rotation": 90, "texture": "#0"}
|
||||
"north": {"uv": [7, 0, 9, 16], "texture": "#edge"},
|
||||
"east": {"uv": [16, 0, 0, 16], "texture": "#pane"},
|
||||
"south": {"uv": [7, 0, 9, 16], "texture": "#edge"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#pane"},
|
||||
"up": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"},
|
||||
"down": {"uv": [7, 0, 9, 16], "rotation": 180, "texture": "#edge"}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -44,10 +38,11 @@
|
|||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 135, 0],
|
||||
"rotation": [30, 45, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [ 0, 270, 0 ],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue