Merge remote-tracking branch 'remotes/origin/1.15' into 1.16

# Conflicts:
#	build.gradle
#	src/main/java/techreborn/compat/rei/MachineRecipeCategory.java
#	src/main/java/techreborn/compat/rei/fluidgenerator/FluidGeneratorRecipeCategory.java
#	src/main/java/techreborn/compat/rei/fluidreplicator/FluidReplicatorRecipeCategory.java
This commit is contained in:
modmuss50 2020-03-12 20:33:54 +00:00
commit e3749343e7
178 changed files with 1220 additions and 65 deletions

View file

@ -45,7 +45,7 @@ repositories {
} }
} }
version = "3.3.3" version = "3.3.5"
configurations { configurations {
shade shade

View file

@ -32,11 +32,11 @@ import reborncore.client.containerBuilder.builder.BuiltContainer;
import reborncore.client.containerBuilder.builder.ContainerBuilder; import reborncore.client.containerBuilder.builder.ContainerBuilder;
import reborncore.common.recipes.RecipeCrafter; import reborncore.common.recipes.RecipeCrafter;
import reborncore.common.util.RebornInventory; import reborncore.common.util.RebornInventory;
import techreborn.blockentity.machine.GenericMachineBlockEntity;
import techreborn.config.TechRebornConfig; import techreborn.config.TechRebornConfig;
import techreborn.init.ModRecipes; import techreborn.init.ModRecipes;
import techreborn.init.TRContent;
import techreborn.init.TRBlockEntities; import techreborn.init.TRBlockEntities;
import techreborn.blockentity.machine.GenericMachineBlockEntity; import techreborn.init.TRContent;
public class VacuumFreezerBlockEntity extends GenericMachineBlockEntity implements IContainerProvider { public class VacuumFreezerBlockEntity extends GenericMachineBlockEntity implements IContainerProvider {
@ -60,14 +60,6 @@ public class VacuumFreezerBlockEntity extends GenericMachineBlockEntity implemen
return down && chamber && up; return down && chamber && up;
} }
// TileGenericMachine
@Override
public void tick() {
if (!world.isClient && getMultiBlock()) {
super.tick();
}
}
// BlockEntity // BlockEntity
@Override @Override
public void cancelRemoval() { public void cancelRemoval() {

View file

@ -81,36 +81,35 @@ public class MachineRecipeCategory<R extends RebornRecipe> implements RecipeCate
@Override @Override
public List<Widget> setupDisplay(Supplier<MachineRecipeDisplay<R>> recipeDisplaySupplier, Rectangle bounds) { public List<Widget> setupDisplay(Supplier<MachineRecipeDisplay<R>> recipeDisplaySupplier, Rectangle bounds) {
MachineRecipeDisplay<R> machineRecipe = recipeDisplaySupplier.get(); MachineRecipeDisplay<R> machineRecipe = recipeDisplaySupplier.get();
Point startPoint = new Point( bounds.getCenterX() - 41, bounds.getCenterY() - recipeLines*12 -1); Point startPoint = new Point( bounds.getCenterX() - 41, bounds.getCenterY() - recipeLines*12 -1);
List<Widget> widgets = new LinkedList<>(); List<Widget> widgets = new LinkedList<>();
widgets.add(new RecipeBaseWidget(bounds)); widgets.add(new RecipeBaseWidget(bounds));
widgets.add(new RecipeArrowWidget(startPoint.x + 24, startPoint.y + 1, true)); widgets.add(RecipeArrowWidget.create(new Point(startPoint.x + 24, startPoint.y + 1), true).time(machineRecipe.getTime() * 50.0));
int i = 0; int i = 0;
for (List<EntryStack> inputs : machineRecipe.getInputEntries()){ for (List<EntryStack> inputs : machineRecipe.getInputEntries()){
widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)).entries(inputs)); widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)).entries(inputs).markIsInput());
} }
Text energyPerTick = new TranslatableText("techreborn.jei.recipe.running.cost", "E", machineRecipe.getEnergy()); Text energyPerTick = new TranslatableText("techreborn.jei.recipe.running.cost", "E", machineRecipe.getEnergy());
LabelWidget costLabel; LabelWidget costLabel;
widgets.add(costLabel = new LabelWidget(new Point(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)), energyPerTick.asFormattedString())); widgets.add(costLabel = LabelWidget.create(new Point(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)), energyPerTick.asFormattedString()));
costLabel.setHasShadows(false); costLabel.setHasShadows(false);
costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040); costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);
i = 0; i = 0;
for (EntryStack outputs : machineRecipe.getOutputEntries()){ for (EntryStack outputs : machineRecipe.getOutputEntries()){
widgets.add(EntryWidget.create(startPoint.x + 61, startPoint.y + 1 + (i++ * 20)).entry(outputs)); widgets.add(EntryWidget.create(startPoint.x + 61, startPoint.y + 1 + (i++ * 20)).entry(outputs).markIsOutput());
} }
int heat = machineRecipe.getHeat(); int heat = machineRecipe.getHeat();
if (heat > 0) { if (heat > 0) {
String neededHeat = heat + " " + StringUtils.t("techreborn.jei.recipe.heat"); String neededHeat = heat + " " + StringUtils.t("techreborn.jei.recipe.heat");
LabelWidget heatLabel; LabelWidget heatLabel;
widgets.add(heatLabel = new LabelWidget(new Point(startPoint.x + 61, startPoint.y + 1 + (i++ * 20)), neededHeat)); widgets.add(heatLabel = LabelWidget.create(new Point(startPoint.x + 61, startPoint.y + 1 + (i++ * 20)), neededHeat));
heatLabel.setHasShadows(false); heatLabel.setHasShadows(false);
heatLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040); heatLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);
} }

View file

@ -44,12 +44,14 @@ public class MachineRecipeDisplay<R extends RebornRecipe> implements RecipeDispl
private List<EntryStack> outputs; private List<EntryStack> outputs;
private int energy = 0; private int energy = 0;
private int heat = 0; private int heat = 0;
private int time = 0;
private FluidInstance fluidInstance = null; private FluidInstance fluidInstance = null;
public MachineRecipeDisplay(R recipe) { public MachineRecipeDisplay(R recipe) {
this.recipe = recipe; this.recipe = recipe;
this.inputs = CollectionUtils.map(recipe.getRebornIngredients(), ing -> CollectionUtils.map(ing.getPreviewStacks(), RebornEntryStack::create)); this.inputs = CollectionUtils.map(recipe.getRebornIngredients(), ing -> CollectionUtils.map(ing.getPreviewStacks(), RebornEntryStack::create));
this.outputs = CollectionUtils.map(recipe.getOutputs(), RebornEntryStack::create); this.outputs = CollectionUtils.map(recipe.getOutputs(), RebornEntryStack::create);
this.time = recipe.getTime();
this.energy = recipe.getPower(); this.energy = recipe.getPower();
if (recipe instanceof BlastFurnaceRecipe) { if (recipe instanceof BlastFurnaceRecipe) {
this.heat = ((BlastFurnaceRecipe) recipe).getHeat(); this.heat = ((BlastFurnaceRecipe) recipe).getHeat();
@ -73,6 +75,10 @@ public class MachineRecipeDisplay<R extends RebornRecipe> implements RecipeDispl
return heat; return heat;
} }
public int getTime() {
return time;
}
public FluidInstance getFluidInstance() { public FluidInstance getFluidInstance() {
return fluidInstance; return fluidInstance;
} }

View file

@ -24,7 +24,7 @@
package techreborn.compat.rei; package techreborn.compat.rei;
import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.EntryRegistry;
import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.api.RecipeDisplay;
import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.api.RecipeHelper;
@ -169,7 +169,7 @@ public class ReiPlugin implements REIPluginV0 {
public void postRegister() { public void postRegister() {
// Alright we are going to apply check tags to cells, this should not take long at all. // Alright we are going to apply check tags to cells, this should not take long at all.
// Check Tags will not check the amount of the ItemStack, but will enable checking their tags. // Check Tags will not check the amount of the ItemStack, but will enable checking their tags.
for (EntryStack stack : RoughlyEnoughItemsCore.getEntryRegistry().getStacksList()) for (EntryStack stack : EntryRegistry.getInstance().getStacksList())
applyCellEntry(stack); applyCellEntry(stack);
} }
@ -182,7 +182,7 @@ public class ReiPlugin implements REIPluginV0 {
private void registerFluidGeneratorDisplays(RecipeHelper recipeHelper, EFluidGenerator generator, Machine machine) { private void registerFluidGeneratorDisplays(RecipeHelper recipeHelper, EFluidGenerator generator, Machine machine) {
Identifier identifier = new Identifier(TechReborn.MOD_ID, machine.name); Identifier identifier = new Identifier(TechReborn.MOD_ID, machine.name);
GeneratorRecipeHelper.getFluidRecipesForGenerator(generator).getRecipes().forEach(recipe -> { GeneratorRecipeHelper.getFluidRecipesForGenerator(generator).getRecipes().forEach(recipe -> {
recipeHelper.registerDisplay(identifier, new FluidGeneratorRecipeDisplay(recipe, identifier)); recipeHelper.registerDisplay(new FluidGeneratorRecipeDisplay(recipe, identifier));
}); });
} }

View file

@ -68,22 +68,21 @@ public class FluidGeneratorRecipeCategory implements RecipeCategory<FluidGenerat
@Override @Override
public List<Widget> setupDisplay(Supplier<FluidGeneratorRecipeDisplay> recipeDisplaySupplier, Rectangle bounds) { public List<Widget> setupDisplay(Supplier<FluidGeneratorRecipeDisplay> recipeDisplaySupplier, Rectangle bounds) {
FluidGeneratorRecipeDisplay machineRecipe = recipeDisplaySupplier.get(); FluidGeneratorRecipeDisplay machineRecipe = recipeDisplaySupplier.get();
Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 13); Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 13);
List<Widget> widgets = new LinkedList<>(); List<Widget> widgets = new LinkedList<>();
widgets.add(new RecipeBaseWidget(bounds)); widgets.add(new RecipeBaseWidget(bounds));
widgets.add(new RecipeArrowWidget(startPoint.x + 24, startPoint.y + 1, true)); widgets.add(RecipeArrowWidget.create(new Point(startPoint.x + 24, startPoint.y + 1), true).time(1000.0));
for (List<EntryStack> inputs : machineRecipe.getInputEntries()) { for (List<EntryStack> inputs : machineRecipe.getInputEntries()) {
widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1).entries(inputs)); widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1).entries(inputs).markIsInput());
} }
Text energyPerTick = new TranslatableText("techreborn.jei.recipe.generator.total", machineRecipe.getTotalEnergy()); Text energyPerTick = new TranslatableText("techreborn.jei.recipe.generator.total", machineRecipe.getTotalEnergy());
LabelWidget costLabel; LabelWidget costLabel;
widgets.add(costLabel = new LabelWidget(new Point(bounds.getCenterX(), startPoint.y + 20), energyPerTick.asFormattedString())); widgets.add(costLabel = LabelWidget.create(new Point(bounds.getCenterX(), startPoint.y + 20), energyPerTick.asFormattedString()));
costLabel.setHasShadows(false); costLabel.setHasShadows(false);
costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040); costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);

View file

@ -69,28 +69,27 @@ public class FluidReplicatorRecipeCategory implements RecipeCategory<FluidReplic
@Override @Override
public List<Widget> setupDisplay(Supplier<FluidReplicatorRecipeDisplay> recipeDisplaySupplier, Rectangle bounds) { public List<Widget> setupDisplay(Supplier<FluidReplicatorRecipeDisplay> recipeDisplaySupplier, Rectangle bounds) {
FluidReplicatorRecipeDisplay machineRecipe = recipeDisplaySupplier.get(); FluidReplicatorRecipeDisplay machineRecipe = recipeDisplaySupplier.get();
Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 13); Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 13);
List<Widget> widgets = new LinkedList<>(); List<Widget> widgets = new LinkedList<>();
widgets.add(new RecipeBaseWidget(bounds)); widgets.add(new RecipeBaseWidget(bounds));
widgets.add(new RecipeArrowWidget(startPoint.x + 24, startPoint.y + 1, true)); widgets.add(RecipeArrowWidget.create(new Point(startPoint.x + 24, startPoint.y + 1), true).time(machineRecipe.getTime() * 50.0));
int i = 0; int i = 0;
for (List<EntryStack> inputs : machineRecipe.getInputEntries()) { for (List<EntryStack> inputs : machineRecipe.getInputEntries()) {
widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)).entries(inputs)); widgets.add(EntryWidget.create(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)).entries(inputs).markIsInput());
} }
Text energyPerTick = new TranslatableText("techreborn.jei.recipe.running.cost", "E", machineRecipe.getEnergy()); Text energyPerTick = new TranslatableText("techreborn.jei.recipe.running.cost", "E", machineRecipe.getEnergy());
LabelWidget costLabel; LabelWidget costLabel;
widgets.add(costLabel = new LabelWidget(new Point(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)), energyPerTick.asFormattedString())); widgets.add(costLabel = LabelWidget.create(new Point(startPoint.x + 1, startPoint.y + 1 + (i++ * 20)), energyPerTick.asFormattedString()));
costLabel.setHasShadows(false); costLabel.setHasShadows(false);
costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040); costLabel.setDefaultColor(ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);
if (!machineRecipe.getOutputEntries().isEmpty()) if (!machineRecipe.getOutputEntries().isEmpty())
widgets.add(EntryWidget.create(startPoint.x + 61, startPoint.y + 1).entries(machineRecipe.getOutputEntries())); widgets.add(EntryWidget.create(startPoint.x + 61, startPoint.y + 1).entries(machineRecipe.getOutputEntries()).markIsOutput());
return widgets; return widgets;
} }

View file

@ -45,6 +45,7 @@ public class FluidReplicatorRecipeDisplay implements RecipeDisplay {
private List<EntryStack> output; private List<EntryStack> output;
private FluidInstance fluidInstance; private FluidInstance fluidInstance;
private int energy = 0; private int energy = 0;
private int time = 0;
public FluidReplicatorRecipeDisplay(FluidReplicatorRecipe recipe) { public FluidReplicatorRecipeDisplay(FluidReplicatorRecipe recipe) {
this.recipe = recipe; this.recipe = recipe;
@ -52,6 +53,7 @@ public class FluidReplicatorRecipeDisplay implements RecipeDisplay {
this.fluidInstance = recipe.getFluidInstance(); this.fluidInstance = recipe.getFluidInstance();
this.output = fluidInstance == null ? Collections.emptyList() : Collections.singletonList(RebornEntryStack.create(fluidInstance.getFluid(), fluidInstance.getAmount().getRawValue())); this.output = fluidInstance == null ? Collections.emptyList() : Collections.singletonList(RebornEntryStack.create(fluidInstance.getFluid(), fluidInstance.getAmount().getRawValue()));
this.energy = recipe.getPower(); this.energy = recipe.getPower();
this.time = recipe.getTime();
} }
public FluidInstance getFluidInstance() { public FluidInstance getFluidInstance() {
@ -62,6 +64,10 @@ public class FluidReplicatorRecipeDisplay implements RecipeDisplay {
return energy; return energy;
} }
public int getTime() {
return time;
}
@Override @Override
public List<List<EntryStack>> getInputEntries() { public List<List<EntryStack>> getInputEntries() {
return inputs; return inputs;

View file

@ -63,7 +63,7 @@ public class OmniToolItem extends PickaxeItem implements EnergyHolder, ItemDurab
// 4M FE max charge with 1k charge rate // 4M FE max charge with 1k charge rate
public OmniToolItem() { public OmniToolItem() {
super(ToolMaterials.DIAMOND, 1, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1)); super(ToolMaterials.DIAMOND, 3, 1, new Item.Settings().group(TechReborn.ITEMGROUP).maxCount(1));
} }
// PickaxeItem // PickaxeItem

View file

@ -24,12 +24,18 @@
package techreborn.utils; package techreborn.utils;
import com.google.common.collect.Maps;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.CraftingInventory; import net.minecraft.inventory.CraftingInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.registry.Registry;
import reborncore.api.events.ItemCraftCallback; import reborncore.api.events.ItemCraftCallback;
import team.reborn.energy.Energy; import team.reborn.energy.Energy;
import techreborn.TechReborn;
import java.util.Map;
import java.util.stream.IntStream; import java.util.stream.IntStream;
public final class PoweredCraftingHandler implements ItemCraftCallback { public final class PoweredCraftingHandler implements ItemCraftCallback {
@ -53,5 +59,21 @@ public final class PoweredCraftingHandler implements ItemCraftCallback {
Energy.of(stack).set(totalEnergy); Energy.of(stack).set(totalEnergy);
} }
if (!Registry.ITEM.getId(stack.getItem()).getNamespace().equalsIgnoreCase(TechReborn.MOD_ID)) {
return;
}
Map<Enchantment, Integer> map = Maps.newLinkedHashMap();
for (int i = 0; i < craftingInventory.getInvSize(); i++){
ItemStack ingredient = craftingInventory.getInvStack(i);
if (ingredient.isEmpty()){
continue;
}
EnchantmentHelper.getEnchantments(ingredient).forEach((key, value) -> map.merge(key, value, (v1, v2) -> v1 > v2 ? v1 : v2));
}
if (!map.isEmpty()){
EnchantmentHelper.set(map, stack);
}
} }
} }

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:advanced_alloy_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:advanced_alloy_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:almandine_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:almandine_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:aluminum_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:andesite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:andesite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:andradite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:andradite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ashes_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ashes_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:basalt_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:basalt_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bauxite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bauxite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:brass_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bronze_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bronze_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bronze_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bronze_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:bronze_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:calcite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:calcite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:carbon_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:charcoal_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:charcoal_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:chrome_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:chrome_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:chrome_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:chrome_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:chrome_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:cinnabar_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:cinnabar_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:clay_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:clay_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:coal_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:coal_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:coal_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:copper_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:dark_ashes_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:dark_ashes_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:diamond_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:diamond_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:diorite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:diorite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:electrum_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:emerald_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:emerald_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:emerald_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ender_eye_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ender_eye_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ender_pearl_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:ender_pearl_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:endstone_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:endstone_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:flint_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:flint_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:galena_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:galena_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:glowstone_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:gold_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:granite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:granite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:grossular_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:grossular_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:hot_tungstensteel_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:hot_tungstensteel_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:invar_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:invar_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:invar_nugget"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:invar_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:invar_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:iridium_alloy_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:iridium_alloy_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:iron_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:lapis_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:lazurite_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:lazurite_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:lazurite_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:lead_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:magnalium_plate"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:magnesium_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:magnesium_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:manganese_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:manganese_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:marble_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:marble_small_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:mixed_metal_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:netherrack_dust"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"techreborn:netherrack_small_dust"
]
}

Some files were not shown because too many files have changed in this diff Show more