diff --git a/build.gradle b/build.gradle index a3aadb6..3efe9ba 100644 --- a/build.gradle +++ b/build.gradle @@ -33,13 +33,13 @@ dependencies { compileOnly "com.google.code.findbugs:jsr305:3.0.2" // javax.annotations.* modCompile ("alexiil.mc.lib:libblockattributes:0.4.2") - modCompile ("io.github.cottonmc:cotton:0.7.5+1.14.2-SNAPSHOT") + modCompile ("io.github.cottonmc:cotton:0.7.3+1.14.2-SNAPSHOT") modCompile ("io.github.cottonmc:cotton-energy:1.4.0+1.14.2-SNAPSHOT") modCompile ("io.github.cottonmc:cotton-resources:1.2.0+1.14.2-SNAPSHOT") modCompile "me.shedaniel:RoughlyEnoughItems:2.9.1+build.116" - include ("alexill.mc.lib:libblockattributes:0.4.2") - include ("io.github.cottonmc:cotton-energy:1.4.0+1.14.2") + include ("alexiil.mc.lib:libblockattributes:0.4.2") { transitive = false } + include ("io.github.cottonmc:cotton-energy:1.4.0+1.14.2-SNAPSHOT") { transitive = false } } processResources { diff --git a/src/main/java/vivatech/Vivatech.java b/src/main/java/vivatech/Vivatech.java index 223c3f8..50fdc73 100644 --- a/src/main/java/vivatech/Vivatech.java +++ b/src/main/java/vivatech/Vivatech.java @@ -25,7 +25,7 @@ public class Vivatech implements ModInitializer { public static final String MODID = "vivatech"; public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(new Identifier(MODID, "item_group"), - () -> new ItemStack(VivatechItems.MACHINE_CHASSIS)); + () -> new ItemStack(VivatechItems.REGULAR_MACHINE_CHASSIS)); public static final Item.Settings ITEM_SETTINGS = new Item.Settings().itemGroup(ITEM_GROUP); public static final Block.Settings METALLIC_BLOCK_SETTINGS = FabricBlockSettings.copy(Blocks.IRON_BLOCK).build(); public static final Block.Settings MACHINE_BLOCK_SETTINGS = FabricBlockSettings.copy(Blocks.IRON_BLOCK).build(); diff --git a/src/main/java/vivatech/block/AbstractTieredMachineBlock.java b/src/main/java/vivatech/block/AbstractTieredMachineBlock.java index f857efb..d45dcdd 100644 --- a/src/main/java/vivatech/block/AbstractTieredMachineBlock.java +++ b/src/main/java/vivatech/block/AbstractTieredMachineBlock.java @@ -1,17 +1,48 @@ package vivatech.block; +import java.util.List; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.ChatFormat; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.item.ItemStack; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.util.Identifier; +import net.minecraft.world.BlockView; import vivatech.util.MachineTier; public abstract class AbstractTieredMachineBlock extends AbstractMachineBlock { - public final MachineTier TIER; + protected final MachineTier tier; + protected final String id; - public AbstractTieredMachineBlock(Settings settings, MachineTier tier) { + public AbstractTieredMachineBlock(Settings settings, String id, MachineTier tier) { super(settings); - TIER = tier; + this.id = id; + this.tier = tier; } public abstract Identifier getTieredID(); + @Override + public String getTranslationKey() { + return "block.vivatech."+id; + } + + @Environment(EnvType.CLIENT) + @Override + public void buildTooltip(ItemStack itemStack_1, BlockView blockView_1, List list_1, TooltipContext tooltipContext_1) { + + Component tierLine = new TranslatableComponent("info.vivatech.tier", new TranslatableComponent("info.vivatech.tier."+(tier.toString().toLowerCase()))); + tierLine.applyFormat(ChatFormat.GRAY); + list_1.add(tierLine); + + super.buildTooltip(itemStack_1, blockView_1, list_1, tooltipContext_1); + } + + public MachineTier getMachineTier() { + return tier; + } } diff --git a/src/main/java/vivatech/block/CrusherBlock.java b/src/main/java/vivatech/block/CrusherBlock.java index 9e64047..505b231 100644 --- a/src/main/java/vivatech/block/CrusherBlock.java +++ b/src/main/java/vivatech/block/CrusherBlock.java @@ -12,12 +12,21 @@ import net.minecraft.world.World; import vivatech.Vivatech; import vivatech.entity.CrusherEntity; +import vivatech.util.MachineTier; +import vivatech.util.TierHelper; -public class CrusherBlock extends AbstractMachineBlock { +public class CrusherBlock extends AbstractTieredMachineBlock { public static final Identifier ID = new Identifier(Vivatech.MODID, "crusher"); + final Identifier TIERED_ID; - public CrusherBlock() { - super(Vivatech.MACHINE_BLOCK_SETTINGS); + public CrusherBlock(MachineTier tier) { + super(Vivatech.MACHINE_BLOCK_SETTINGS, "crusher", tier); + TIERED_ID = TierHelper.getTieredID(ID, tier); + } + + @Override + public Identifier getTieredID() { + return TIERED_ID; } // Block diff --git a/src/main/java/vivatech/block/ElectricFurnaceBlock.java b/src/main/java/vivatech/block/ElectricFurnaceBlock.java index bb6a649..00791f2 100644 --- a/src/main/java/vivatech/block/ElectricFurnaceBlock.java +++ b/src/main/java/vivatech/block/ElectricFurnaceBlock.java @@ -20,7 +20,7 @@ public class ElectricFurnaceBlock extends AbstractTieredMachineBlock { final Identifier TIERED_ID; public ElectricFurnaceBlock(MachineTier tier) { - super(Vivatech.MACHINE_BLOCK_SETTINGS, tier); + super(Vivatech.MACHINE_BLOCK_SETTINGS, "electric_furnace", tier); TIERED_ID = TierHelper.getTieredID(ID, tier); } @@ -37,7 +37,7 @@ public boolean activate(BlockState state, World world, BlockPos pos, PlayerEntit // BlockEntityProvider @Override public BlockEntity createBlockEntity(BlockView blockView) { - return new ElectricFurnaceEntity(TIER); + return new ElectricFurnaceEntity(); } @Override diff --git a/src/main/java/vivatech/block/PressBlock.java b/src/main/java/vivatech/block/PressBlock.java index 15feeaf..ca9409b 100644 --- a/src/main/java/vivatech/block/PressBlock.java +++ b/src/main/java/vivatech/block/PressBlock.java @@ -12,13 +12,22 @@ import net.minecraft.world.World; import vivatech.Vivatech; import vivatech.entity.PressEntity; +import vivatech.util.MachineTier; +import vivatech.util.TierHelper; -public class PressBlock extends AbstractMachineBlock { +public class PressBlock extends AbstractTieredMachineBlock { public static final Identifier ID = new Identifier(Vivatech.MODID, "press"); + final Identifier TIERED_ID; - public PressBlock() { - super(Vivatech.MACHINE_BLOCK_SETTINGS); + public PressBlock(MachineTier tier) { + super(Vivatech.MACHINE_BLOCK_SETTINGS, "press", tier); + TIERED_ID = TierHelper.getTieredID(ID, tier); } + + @Override + public Identifier getTieredID() { + return TIERED_ID; + } // Block @Override diff --git a/src/main/java/vivatech/entity/AbstractTieredMachineEntity.java b/src/main/java/vivatech/entity/AbstractTieredMachineEntity.java index a9199e0..33e1a5c 100644 --- a/src/main/java/vivatech/entity/AbstractTieredMachineEntity.java +++ b/src/main/java/vivatech/entity/AbstractTieredMachineEntity.java @@ -1,19 +1,21 @@ package vivatech.entity; +import net.minecraft.block.Block; import net.minecraft.block.entity.BlockEntityType; +import vivatech.block.AbstractTieredMachineBlock; import vivatech.util.MachineTier; public abstract class AbstractTieredMachineEntity extends AbstractMachineEntity { - public MachineTier TIER; - - public AbstractTieredMachineEntity(BlockEntityType type, MachineTier tier) { - super(type); - TIER = tier; - } - public AbstractTieredMachineEntity(BlockEntityType type) { super(type); } - + public MachineTier getMachineTier() { + Block block = world.getBlockState(pos).getBlock(); + if (block instanceof AbstractTieredMachineBlock) { + return ((AbstractTieredMachineBlock)block).getMachineTier(); + } else { + return MachineTier.MINIMAL; + } + } } diff --git a/src/main/java/vivatech/entity/CrusherEntity.java b/src/main/java/vivatech/entity/CrusherEntity.java index e9ee934..bccb247 100644 --- a/src/main/java/vivatech/entity/CrusherEntity.java +++ b/src/main/java/vivatech/entity/CrusherEntity.java @@ -1,21 +1,22 @@ package vivatech.entity; +import javax.annotation.Nullable; + import alexiil.mc.lib.attributes.Simulation; import net.minecraft.container.PropertyDelegate; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; -import net.minecraft.recipe.Recipe; import net.minecraft.util.math.Direction; import vivatech.Vivatech; import vivatech.init.VivatechEntities; import vivatech.init.VivatechRecipes; import vivatech.recipe.CrushingRecipe; +import vivatech.util.MachineTier; -import javax.annotation.Nullable; +public class CrusherEntity extends AbstractTieredMachineEntity { -public class CrusherEntity extends AbstractMachineEntity { - private static final int CONSUME_PER_TICK = 1; - private static final int TICK_PER_CONSUME = 5; + public static final int CONSUME_PER_TICK = 1; + public static final int TICK_PER_CONSUME = 5; private int crushTime = 0; private int crushTimeTotal = 0; private final PropertyDelegate propertyDelegate = new PropertyDelegate() { @@ -78,12 +79,14 @@ protected boolean canExtractEnergy() { @Override protected void serverTick() { + MachineTier tier = getMachineTier(); + if (canRun()) { crushTime++; - if (crushTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK, Simulation.ACTION); + if (crushTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK * (int)tier.getSpeedMultiplier(), Simulation.ACTION); if (crushTimeTotal == 0) { - crushTimeTotal = world.getRecipeManager().getFirstMatch(VivatechRecipes.CRUSHING, this, world) - .map(CrushingRecipe::getProcessTime).orElse(200); + crushTimeTotal = (int) (world.getRecipeManager().getFirstMatch(VivatechRecipes.CRUSHING, this, world) + .map(CrushingRecipe::getProcessTime).orElse(200) / tier.getSpeedMultiplier()); } setBlockActive(true); if (crushTime >= crushTimeTotal) { @@ -103,7 +106,7 @@ protected void serverTick() { public ItemStack getOutputStack() { if (!inventory.get(0).isEmpty()) { - Recipe recipe = world.getRecipeManager().getFirstMatch(VivatechRecipes.CRUSHING, this, world).orElse(null); + CrushingRecipe recipe = world.getRecipeManager().getFirstMatch(VivatechRecipes.CRUSHING, this, world).orElse(null); return recipe != null ? recipe.getOutput().copy() : ItemStack.EMPTY; } diff --git a/src/main/java/vivatech/entity/ElectricFurnaceEntity.java b/src/main/java/vivatech/entity/ElectricFurnaceEntity.java index ce3957a..5b9f4a3 100644 --- a/src/main/java/vivatech/entity/ElectricFurnaceEntity.java +++ b/src/main/java/vivatech/entity/ElectricFurnaceEntity.java @@ -7,8 +7,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.recipe.AbstractCookingRecipe; -import net.minecraft.recipe.Recipe; import net.minecraft.recipe.RecipeType; +import net.minecraft.recipe.SmeltingRecipe; import net.minecraft.util.math.Direction; import vivatech.Vivatech; import vivatech.init.VivatechEntities; @@ -62,10 +62,6 @@ public int size() { } }; - public ElectricFurnaceEntity(MachineTier tier) { - super(VivatechEntities.ELECTRIC_FURNACE, tier); - } - public ElectricFurnaceEntity() { super(VivatechEntities.ELECTRIC_FURNACE); } @@ -83,12 +79,14 @@ protected boolean canExtractEnergy() { @Override protected void serverTick() { + MachineTier tier = getMachineTier(); + if (canRun()) { cookTime++; - if (cookTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK * (int)TIER.getSpeedMultiplier(), Simulation.ACTION); + if (cookTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK * (int)tier.getSpeedMultiplier(), Simulation.ACTION); if (cookTimeTotal == 0) { cookTimeTotal = (int) (world.getRecipeManager().getFirstMatch(RecipeType.SMELTING, this, world) - .map(AbstractCookingRecipe::getCookTime).orElse(200) / (2 * TIER.getSpeedMultiplier())); + .map(AbstractCookingRecipe::getCookTime).orElse(200) / (2 * (tier.getSpeedMultiplier() + 0.5F))); } setBlockActive(true); if (cookTime >= cookTimeTotal) { @@ -108,7 +106,7 @@ protected void serverTick() { public ItemStack getOutputStack() { if (!inventory.get(0).isEmpty()) { - Recipe recipe = world.getRecipeManager().getFirstMatch(RecipeType.SMELTING, this, world).orElse(null); + SmeltingRecipe recipe = world.getRecipeManager().getFirstMatch(RecipeType.SMELTING, this, world).orElse(null); return recipe != null ? recipe.getOutput().copy() : ItemStack.EMPTY; } @@ -120,7 +118,7 @@ public boolean canRun() { if (inventory.get(0).isEmpty() || output.isEmpty() || inventory.get(1).getAmount() > 64 - || energy.getCurrentEnergy() < CONSUME_PER_TICK * TIER.getSpeedMultiplier()) { + || energy.getCurrentEnergy() < CONSUME_PER_TICK * getMachineTier().getSpeedMultiplier()) { return false; } else if (!inventory.get(1).isEmpty()) { return output.getItem() == inventory.get(1).getItem(); @@ -148,7 +146,6 @@ public void fromTag(CompoundTag tag) { super.fromTag(tag); cookTime = tag.getInt("CookTime"); cookTimeTotal = tag.getInt("CookTimeTotal"); - TIER = MachineTier.values()[tag.getInt("Tier")]; } @Override @@ -156,7 +153,6 @@ public CompoundTag toTag(CompoundTag tag) { super.toTag(tag); tag.putInt("CookTime", cookTime); tag.putInt("CookTimeTotal", cookTimeTotal); - tag.putInt("Tier", TIER.ordinal()); return tag; } diff --git a/src/main/java/vivatech/entity/PressEntity.java b/src/main/java/vivatech/entity/PressEntity.java index 5a6b3c9..17706c3 100644 --- a/src/main/java/vivatech/entity/PressEntity.java +++ b/src/main/java/vivatech/entity/PressEntity.java @@ -1,21 +1,22 @@ package vivatech.entity; +import javax.annotation.Nullable; + import alexiil.mc.lib.attributes.Simulation; import net.minecraft.container.PropertyDelegate; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; -import net.minecraft.recipe.Recipe; import net.minecraft.util.math.Direction; import vivatech.Vivatech; import vivatech.init.VivatechEntities; import vivatech.init.VivatechRecipes; import vivatech.recipe.PressingRecipe; +import vivatech.util.MachineTier; -import javax.annotation.Nullable; +public class PressEntity extends AbstractTieredMachineEntity { -public class PressEntity extends AbstractMachineEntity { - private static final int TICK_PER_CONSUME = 5; - private static final int CONSUME_PER_TICK = 1; + public static final int TICK_PER_CONSUME = 5; + public static final int CONSUME_PER_TICK = 1; private int pressTime = 0; private int pressTimeTotal = 0; private final PropertyDelegate propertyDelegate = new PropertyDelegate() { @@ -60,7 +61,7 @@ public int size() { return 4; } }; - + public PressEntity() { super(VivatechEntities.PRESS); } @@ -78,12 +79,14 @@ protected boolean canExtractEnergy() { @Override protected void serverTick() { + MachineTier tier = getMachineTier(); + if (canRun()) { pressTime++; - if (pressTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK, Simulation.ACTION); + if (pressTime % TICK_PER_CONSUME == 0) energy.extractEnergy(Vivatech.INFINITE_VOLTAGE, CONSUME_PER_TICK * (int)tier.getSpeedMultiplier(), Simulation.ACTION); if (pressTimeTotal == 0) { - pressTimeTotal = world.getRecipeManager().getFirstMatch(VivatechRecipes.PRESSING, this, world) - .map(PressingRecipe::getProcessTime).orElse(200); + pressTimeTotal = (int) (world.getRecipeManager().getFirstMatch(VivatechRecipes.PRESSING, this, world) + .map(PressingRecipe::getProcessTime).orElse(200) / tier.getSpeedMultiplier()); } setBlockActive(true); if (pressTime >= pressTimeTotal) { @@ -103,7 +106,7 @@ protected void serverTick() { public ItemStack getOutputStack() { if (!inventory.get(0).isEmpty()) { - Recipe recipe = world.getRecipeManager().getFirstMatch(VivatechRecipes.PRESSING, this, world).orElse(null); + PressingRecipe recipe = world.getRecipeManager().getFirstMatch(VivatechRecipes.PRESSING, this, world).orElse(null); return recipe != null ? recipe.getOutput().copy() : ItemStack.EMPTY; } diff --git a/src/main/java/vivatech/init/VivatechBlocks.java b/src/main/java/vivatech/init/VivatechBlocks.java index fcb3395..d2d32eb 100644 --- a/src/main/java/vivatech/init/VivatechBlocks.java +++ b/src/main/java/vivatech/init/VivatechBlocks.java @@ -1,7 +1,10 @@ package vivatech.init; import com.google.common.collect.ImmutableList; + +import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; +import net.minecraft.block.Blocks; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import vivatech.Vivatech; @@ -14,35 +17,42 @@ import vivatech.util.TierHelper; public class VivatechBlocks { - public static final Identifier MACHINE_CHASSIS_ID = new Identifier(Vivatech.MODID, "machine_chassis"); + public static final Identifier LIGHT_MACHINE_CHASSIS_ID = new Identifier(Vivatech.MODID, "light_machine_chassis"); + public static final Identifier REGULAR_MACHINE_CHASSIS_ID = new Identifier(Vivatech.MODID, "regular_machine_chassis"); + public static final Identifier HEAVY_MACHINE_CHASSIS_ID = new Identifier(Vivatech.MODID, "heavy_machine_chassis"); - public static final Block MACHINE_CHASSIS; + public static final Block LIGHT_MACHINE_CHASSIS; + public static final Block REGULAR_MACHINE_CHASSIS; + public static final Block HEAVY_MACHINE_CHASSIS; public static final EnergyConduitBlock ENERGY_CONDUIT; public static final CoalGeneratorBlock COAL_GENERATOR; - public static final CrusherBlock CRUSHER; + public static final ImmutableList CRUSHER; public static final ImmutableList ELECTRIC_FURNACE; public static final EnergyBankBlock ENERGY_BANK; - public static final PressBlock PRESS; + public static final ImmutableList PRESS; static { - MACHINE_CHASSIS = new Block(Vivatech.METALLIC_BLOCK_SETTINGS); + LIGHT_MACHINE_CHASSIS = new Block(FabricBlockSettings.copy(Blocks.STONE).build()); + REGULAR_MACHINE_CHASSIS = new Block(FabricBlockSettings.copy(Blocks.IRON_BLOCK).build()); + HEAVY_MACHINE_CHASSIS = new Block(FabricBlockSettings.copy(Blocks.IRON_BLOCK).hardness(7f).resistance(10f).build()); ENERGY_CONDUIT = new EnergyConduitBlock(); COAL_GENERATOR = new CoalGeneratorBlock(); - CRUSHER = new CrusherBlock(); ENERGY_BANK = new EnergyBankBlock(); - PRESS = new PressBlock(); - ELECTRIC_FURNACE = TierHelper.fillTieredBlockArray(ElectricFurnaceBlock::new); + ELECTRIC_FURNACE = TierHelper.fillTieredBlockArray(ElectricFurnaceBlock::new); + PRESS = TierHelper.fillTieredBlockArray(PressBlock::new); + CRUSHER = TierHelper.fillTieredBlockArray(CrusherBlock::new); } public static void initialize() { - Registry.register(Registry.BLOCK, MACHINE_CHASSIS_ID, MACHINE_CHASSIS); + Registry.register(Registry.BLOCK, LIGHT_MACHINE_CHASSIS_ID, LIGHT_MACHINE_CHASSIS); + Registry.register(Registry.BLOCK, REGULAR_MACHINE_CHASSIS_ID, REGULAR_MACHINE_CHASSIS); + Registry.register(Registry.BLOCK, HEAVY_MACHINE_CHASSIS_ID, HEAVY_MACHINE_CHASSIS); Registry.register(Registry.BLOCK, EnergyConduitBlock.ID, ENERGY_CONDUIT); Registry.register(Registry.BLOCK, CoalGeneratorBlock.ID, COAL_GENERATOR); - Registry.register(Registry.BLOCK, CrusherBlock.ID, CRUSHER); - TierHelper.registerTieredBlocks(ELECTRIC_FURNACE); - Registry.register(Registry.BLOCK, CrusherBlock.ID, CRUSHER); Registry.register(Registry.BLOCK, EnergyBankBlock.ID, ENERGY_BANK); - Registry.register(Registry.BLOCK, PressBlock.ID, PRESS); + TierHelper.registerTieredBlocks(ELECTRIC_FURNACE); + TierHelper.registerTieredBlocks(CRUSHER); + TierHelper.registerTieredBlocks(PRESS); } } diff --git a/src/main/java/vivatech/init/VivatechEntities.java b/src/main/java/vivatech/init/VivatechEntities.java index 0623f47..eb32181 100644 --- a/src/main/java/vivatech/init/VivatechEntities.java +++ b/src/main/java/vivatech/init/VivatechEntities.java @@ -28,10 +28,10 @@ public class VivatechEntities { static { ENERGY_CONDUIT = BlockEntityType.Builder.create(EnergyConduitEntity::new, VivatechBlocks.ENERGY_CONDUIT).build(null); COAL_GENERATOR = BlockEntityType.Builder.create(CoalGeneratorEntity::new, VivatechBlocks.COAL_GENERATOR).build(null); - CRUSHER = BlockEntityType.Builder.create(CrusherEntity::new, VivatechBlocks.CRUSHER).build(null); + CRUSHER = BlockEntityType.Builder.create(CrusherEntity::new, VivatechBlocks.CRUSHER.toArray(new Block[MachineTier.values().length])).build(null); ELECTRIC_FURNACE = BlockEntityType.Builder.create(ElectricFurnaceEntity::new, VivatechBlocks.ELECTRIC_FURNACE.toArray(new Block[MachineTier.values().length])).build(null); ENERGY_BANK = BlockEntityType.Builder.create(EnergyBankEntity::new, VivatechBlocks.ENERGY_BANK).build(null); - PRESS = BlockEntityType.Builder.create(PressEntity::new, VivatechBlocks.PRESS).build(null); + PRESS = BlockEntityType.Builder.create(PressEntity::new, VivatechBlocks.PRESS.toArray(new Block[MachineTier.values().length])).build(null); } public static void initialize() { diff --git a/src/main/java/vivatech/init/VivatechItems.java b/src/main/java/vivatech/init/VivatechItems.java index 58304b0..17a99c1 100644 --- a/src/main/java/vivatech/init/VivatechItems.java +++ b/src/main/java/vivatech/init/VivatechItems.java @@ -5,45 +5,49 @@ import net.minecraft.util.registry.Registry; import vivatech.Vivatech; import vivatech.block.CoalGeneratorBlock; -import vivatech.block.CrusherBlock; import vivatech.block.EnergyBankBlock; import vivatech.block.EnergyConduitBlock; -import vivatech.block.PressBlock; import vivatech.item.BatteryItem; import vivatech.util.TierHelper; public class VivatechItems { - public static final Item MACHINE_CHASSIS; + public static final Item LIGHT_MACHINE_CHASSIS; + public static final Item REGULAR_MACHINE_CHASSIS; + public static final Item HEAVY_MACHINE_CHASSIS; public static final Item ENERGY_CONDUIT; public static final Item COAL_GENERATOR; - public static final Item CRUSHER; + public static final Item[] CRUSHER; public static final Item[] ELECTRIC_FURNACE; public static final Item ENERGY_BANK; - public static final Item PRESS; + public static final Item[] PRESS; public static final Item BATTERY; static { - MACHINE_CHASSIS = new BlockItem(VivatechBlocks.MACHINE_CHASSIS, Vivatech.ITEM_SETTINGS); + LIGHT_MACHINE_CHASSIS = new BlockItem(VivatechBlocks.LIGHT_MACHINE_CHASSIS, Vivatech.ITEM_SETTINGS); + REGULAR_MACHINE_CHASSIS = new BlockItem(VivatechBlocks.REGULAR_MACHINE_CHASSIS, Vivatech.ITEM_SETTINGS); + HEAVY_MACHINE_CHASSIS = new BlockItem(VivatechBlocks.HEAVY_MACHINE_CHASSIS, Vivatech.ITEM_SETTINGS); ENERGY_CONDUIT = new BlockItem(VivatechBlocks.ENERGY_CONDUIT, Vivatech.ITEM_SETTINGS); COAL_GENERATOR = new BlockItem(VivatechBlocks.COAL_GENERATOR, Vivatech.ITEM_SETTINGS); - CRUSHER = new BlockItem(VivatechBlocks.CRUSHER, Vivatech.ITEM_SETTINGS); ENERGY_BANK = new BlockItem(VivatechBlocks.ENERGY_BANK, Vivatech.ITEM_SETTINGS); - PRESS = new BlockItem(VivatechBlocks.PRESS, Vivatech.ITEM_SETTINGS); BATTERY = new BatteryItem(); ELECTRIC_FURNACE = TierHelper.fillTieredBlockItemArray(VivatechBlocks.ELECTRIC_FURNACE); + PRESS = TierHelper.fillTieredBlockItemArray(VivatechBlocks.PRESS); + CRUSHER = TierHelper.fillTieredBlockItemArray(VivatechBlocks.CRUSHER); } public static void initialize() { - Registry.register(Registry.ITEM, VivatechBlocks.MACHINE_CHASSIS_ID, MACHINE_CHASSIS); + Registry.register(Registry.ITEM, VivatechBlocks.LIGHT_MACHINE_CHASSIS_ID, LIGHT_MACHINE_CHASSIS); + Registry.register(Registry.ITEM, VivatechBlocks.REGULAR_MACHINE_CHASSIS_ID, REGULAR_MACHINE_CHASSIS); + Registry.register(Registry.ITEM, VivatechBlocks.HEAVY_MACHINE_CHASSIS_ID, HEAVY_MACHINE_CHASSIS); Registry.register(Registry.ITEM, EnergyConduitBlock.ID, ENERGY_CONDUIT); Registry.register(Registry.ITEM, CoalGeneratorBlock.ID, COAL_GENERATOR); - Registry.register(Registry.ITEM, CrusherBlock.ID, CRUSHER); Registry.register(Registry.ITEM, EnergyBankBlock.ID, ENERGY_BANK); - Registry.register(Registry.ITEM, PressBlock.ID, PRESS); Registry.register(Registry.ITEM, BatteryItem.ID, BATTERY); TierHelper.registerTieredBlockItems(VivatechBlocks.ELECTRIC_FURNACE, ELECTRIC_FURNACE); + TierHelper.registerTieredBlockItems(VivatechBlocks.PRESS, PRESS); + TierHelper.registerTieredBlockItems(VivatechBlocks.CRUSHER, CRUSHER); } } diff --git a/src/main/java/vivatech/recipe/CrushingRecipe.java b/src/main/java/vivatech/recipe/CrushingRecipe.java index cc36463..ce59e29 100644 --- a/src/main/java/vivatech/recipe/CrushingRecipe.java +++ b/src/main/java/vivatech/recipe/CrushingRecipe.java @@ -6,13 +6,15 @@ import net.minecraft.recipe.RecipeType; import net.minecraft.util.Identifier; import vivatech.Vivatech; +import vivatech.entity.CrusherEntity; import vivatech.init.VivatechRecipes; +import vivatech.util.MachineTier; public class CrushingRecipe extends ProcessingRecipe { public static final Identifier ID = new Identifier(Vivatech.MODID, "crushing"); - public CrushingRecipe(Identifier id, Ingredient input, ItemStack output, float exp, int processTime, Identifier bonusLootTable) { - super(id, input, output, exp, processTime, bonusLootTable); + public CrushingRecipe(Identifier id, Ingredient input, ItemStack output, MachineTier minTier, float exp, int processTime, Identifier bonusLootTable) { + super(id, input, output, minTier, exp, processTime, bonusLootTable); } @Override @@ -24,4 +26,9 @@ public RecipeType getType() { public RecipeSerializer getSerializer() { return VivatechRecipes.CRUSHING_SERIALIZER; } + + @Override + public int getEnergyCost() { + return (processTime / CrusherEntity.TICK_PER_CONSUME) * CrusherEntity.TICK_PER_CONSUME; + } } diff --git a/src/main/java/vivatech/recipe/PressingRecipe.java b/src/main/java/vivatech/recipe/PressingRecipe.java index daaf93f..c82d9a8 100644 --- a/src/main/java/vivatech/recipe/PressingRecipe.java +++ b/src/main/java/vivatech/recipe/PressingRecipe.java @@ -6,13 +6,15 @@ import net.minecraft.recipe.RecipeType; import net.minecraft.util.Identifier; import vivatech.Vivatech; +import vivatech.entity.PressEntity; import vivatech.init.VivatechRecipes; +import vivatech.util.MachineTier; public class PressingRecipe extends ProcessingRecipe { public static final Identifier ID = new Identifier(Vivatech.MODID, "pressing"); - public PressingRecipe(Identifier id, Ingredient input, ItemStack output, float exp, int processTime, Identifier bonusLootTable) { - super(id, input, output, exp, processTime, bonusLootTable); + public PressingRecipe(Identifier id, Ingredient input, ItemStack output, MachineTier minTier, float exp, int processTime, Identifier bonusLootTable) { + super(id, input, output, minTier, exp, processTime, bonusLootTable); } @Override @@ -24,4 +26,9 @@ public RecipeSerializer getSerializer() { public RecipeType getType() { return VivatechRecipes.PRESSING; } + + @Override + public int getEnergyCost() { + return (processTime / PressEntity.TICK_PER_CONSUME) * PressEntity.TICK_PER_CONSUME; + } } diff --git a/src/main/java/vivatech/recipe/ProcessingRecipe.java b/src/main/java/vivatech/recipe/ProcessingRecipe.java index d2d3d45..5e8ff46 100644 --- a/src/main/java/vivatech/recipe/ProcessingRecipe.java +++ b/src/main/java/vivatech/recipe/ProcessingRecipe.java @@ -13,11 +13,12 @@ import net.minecraft.world.World; import net.minecraft.world.loot.LootManager; import net.minecraft.world.loot.context.LootContext; +import vivatech.util.MachineTier; import java.util.Collections; import java.util.List; -import static net.minecraft.util.JsonHelper.*; +import net.minecraft.util.JsonHelper; /** * Implements a generic machine processing recipe with optional loot table for bonus items. @@ -29,6 +30,7 @@ * "ingredient": { * "item": "minecraft:iron_ore" * }, + * "tier": "minimal", * "processtime": 200, * "experience": 0.35, * "result": { @@ -45,14 +47,16 @@ public abstract class ProcessingRecipe implements Recipe { protected final Identifier id; protected final Ingredient input; protected final ItemStack output; + protected final MachineTier minTier; protected final float exp; protected final int processTime; protected final Identifier bonusLootTable; - public ProcessingRecipe(Identifier id, Ingredient input, ItemStack output, float exp, int processTime, Identifier bonusLootTable) { + public ProcessingRecipe(Identifier id, Ingredient input, ItemStack output, MachineTier minTier, float exp, int processTime, Identifier bonusLootTable) { this.id = id; this.input = input; this.output = output; + this.minTier = minTier; this.exp = exp; this.processTime = processTime; this.bonusLootTable = bonusLootTable; @@ -71,7 +75,11 @@ public Ingredient getInput() { public ItemStack getOutput() { return output; } - + + public MachineTier getMinTier() { + return minTier; + } + public float getExperience() { return exp; } @@ -79,6 +87,10 @@ public float getExperience() { public int getProcessTime() { return processTime; } + + public int getEnergyCost() { + return 0; + } public Identifier getBonusLootTable() { return bonusLootTable; @@ -112,7 +124,7 @@ public DefaultedList getPreviewInputs() { @FunctionalInterface public interface Factory { - R create(Identifier id, Ingredient input, ItemStack output, float exp, int processTime, Identifier bonusLootTable); + R create(Identifier id, Ingredient input, ItemStack output, MachineTier minTier, float exp, int processTime, Identifier bonusLootTable); } public static class Serializer implements RecipeSerializer { @@ -128,36 +140,45 @@ public Serializer(Factory factory, int defaultProcessTime) { @Override public R read(Identifier id, JsonObject jsonObject) { Ingredient input = Ingredient.fromJson( - hasArray(jsonObject, "ingredient") - ? getArray(jsonObject, "ingredient") - : getObject(jsonObject, "ingredient") + JsonHelper.hasArray(jsonObject, "ingredient") + ? JsonHelper.getArray(jsonObject, "ingredient") + : JsonHelper.getObject(jsonObject, "ingredient") ); - ItemStack output = ShapedRecipe.getItemStack(getObject(jsonObject, "result")); - float exp = getFloat(jsonObject, "experience", 0.0F); - int processTime = getInt(jsonObject, "processtime", this.defaultProcessTime); + ItemStack output = ShapedRecipe.getItemStack(JsonHelper.getObject(jsonObject, "result")); + + MachineTier minTier = JsonHelper.hasString(jsonObject, "tier") + ? MachineTier.forAffix(JsonHelper.getString(jsonObject, "tier")) + : MachineTier.MINIMAL; + + float exp = JsonHelper.getFloat(jsonObject, "experience", 0.0F); + int processTime = JsonHelper.getInt(jsonObject, "processtime", this.defaultProcessTime); - String bonusLoot = getString(jsonObject, "bonus", null); + String bonusLoot = JsonHelper.getString(jsonObject, "bonus", null); Identifier bonusLootId = bonusLoot == null ? null : new Identifier(bonusLoot); - return factory.create(id, input, output, exp, processTime, bonusLootId); + return factory.create(id, input, output, minTier, exp, processTime, bonusLootId); } @Override public R read(Identifier id, PacketByteBuf buffer) { Ingredient input = Ingredient.fromPacket(buffer); ItemStack output = buffer.readItemStack(); + MachineTier minTier = MachineTier.MINIMAL; + int tierInt = buffer.readByte(); + if (tierInt>=0 && tierInt setupDisplay(Supplier>> recipeDispla RecipeDisplay display = recipeDisplaySupplier.get(); int x = (int) bounds.getCenterX(); int y = (int) bounds.getCenterY() - 9; - - return ImmutableList.of( - new RecipeBaseWidget(bounds), - new ProgressBarWidget(x - 18 - 5, y, 40, 18, 200), - new CottonSlotWidget(x - 2 * 18 - 9, y, display.getInput().get(0), true, true), - CottonSlotWidget.createBig(x + 2 * 18 - 9, y, display.getOutput(), true, true) - ); + + MachineTier tier = MachineTier.MINIMAL; + int energyCost = 0; + if (display instanceof TieredMachineDisplay) { + tier = ((TieredMachineDisplay) display).getMinTier(); + energyCost = ((TieredMachineDisplay)display).getEnergyCost(); + } + + ArrayList widgets = new ArrayList<>(); + widgets.add(new RecipeBaseWidget(bounds)); + widgets.add(new ProgressBarWidget(x - 18 - 5, y, 40, 18, 200)); + widgets.add(new CottonSlotWidget(x - 2 * 18 - 9, y, display.getInput().get(0), true, true)); + widgets.add(CottonSlotWidget.createBig(x + 2 * 18 - 9, y, display.getOutput(), true, true)); + + if (energyCost!=0) { + Component energyComponent = new TranslatableComponent("info.vivatech.energy_cost", energyCost) + .applyFormat(ChatFormat.DARK_GRAY); + widgets.add(new LabelWidget(x - (2*18) - 7, y + (2*18), energyComponent)); + } + + if (tier!=MachineTier.MINIMAL) { + Component tierComponent = new TranslatableComponent("info.vivatech.tier", new TranslatableComponent("info.vivatech.tier."+tier.getAffix())) + .applyFormat(ChatFormat.DARK_GRAY); + widgets.add(new LabelWidget(x - (2*18) - 7, y + (3*18), tierComponent)); + } + + + + return ImmutableList.copyOf(widgets); } } diff --git a/src/main/java/vivatech/rei/CrushingCategory.java b/src/main/java/vivatech/rei/CrushingCategory.java index 69b371d..c74ade3 100644 --- a/src/main/java/vivatech/rei/CrushingCategory.java +++ b/src/main/java/vivatech/rei/CrushingCategory.java @@ -12,6 +12,6 @@ final class CrushingCategory extends BaseRecipeCategory { @Override public Renderer getIcon() { - return Renderable.fromItemStack(new ItemStack(VivatechBlocks.CRUSHER)); + return Renderable.fromItemStack(new ItemStack(VivatechBlocks.CRUSHER.get(0))); } } diff --git a/src/main/java/vivatech/rei/CrushingDisplay.java b/src/main/java/vivatech/rei/CrushingDisplay.java index 1f1306b..e8c5ba6 100644 --- a/src/main/java/vivatech/rei/CrushingDisplay.java +++ b/src/main/java/vivatech/rei/CrushingDisplay.java @@ -1,52 +1,16 @@ package vivatech.rei; -import me.shedaniel.rei.api.RecipeDisplay; -import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import vivatech.recipe.CrushingRecipe; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -final class CrushingDisplay implements RecipeDisplay { - private final CrushingRecipe recipe; - private final List> input; - private final List output; -// private final List bonusStacks; +final class CrushingDisplay extends TieredMachineDisplay { CrushingDisplay(CrushingRecipe recipe) { - this.recipe = recipe; - input = recipe.getPreviewInputs().stream() - .map(ingredient -> Arrays.asList(ingredient.getStackArray())) - .collect(Collectors.toList()); - output = Collections.singletonList(recipe.getOutput()); - //bonusStacks = LootUtils.getAllStacks(recipe.getBonusLootTable()); - } - - @Override - public Optional getRecipe() { - return Optional.of(recipe); - } - - @Override - public List> getInput() { - return input; - } - - @Override - public List getOutput() { - return output; + super(recipe); } @Override public Identifier getRecipeCategory() { return VivatechREIPlugin.CRUSHING; } - - /*public List getBonusStacks() { - return bonusStacks; - }*/ } diff --git a/src/main/java/vivatech/rei/PressingCategory.java b/src/main/java/vivatech/rei/PressingCategory.java index cc386fb..840e5b0 100644 --- a/src/main/java/vivatech/rei/PressingCategory.java +++ b/src/main/java/vivatech/rei/PressingCategory.java @@ -12,6 +12,6 @@ final class PressingCategory extends BaseRecipeCategory { @Override public Renderer getIcon() { - return Renderable.fromItemStack(new ItemStack(VivatechBlocks.PRESS)); + return Renderable.fromItemStack(new ItemStack(VivatechBlocks.PRESS.get(0))); } } diff --git a/src/main/java/vivatech/rei/PressingDisplay.java b/src/main/java/vivatech/rei/PressingDisplay.java index a69f6ac..f717508 100644 --- a/src/main/java/vivatech/rei/PressingDisplay.java +++ b/src/main/java/vivatech/rei/PressingDisplay.java @@ -1,50 +1,14 @@ package vivatech.rei; -import com.google.common.collect.ImmutableList; -import me.shedaniel.rei.api.RecipeDisplay; -import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import vivatech.recipe.PressingRecipe; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -final class PressingDisplay implements RecipeDisplay { - private final PressingRecipe recipe; - private final List> input; - private final List output; - - PressingDisplay(PressingRecipe recipe) { - this.recipe = recipe; - input = recipe.getPreviewInputs().stream() - .map(ingredient -> Arrays.asList(ingredient.getStackArray())) - .collect(Collectors.toList()); - - output = ImmutableList.of(recipe.getOutput()); - } - - @Override - public Optional getRecipe() { - return Optional.of(recipe); - } - - @Override - public List> getInput() { - return input; - } - - @Override - public List getOutput() { - return output; - } - - @Override - public List> getRequiredItems() { - return input; - } - +final class PressingDisplay extends TieredMachineDisplay { + + public PressingDisplay(PressingRecipe recipe) { + super(recipe); + } + @Override public Identifier getRecipeCategory() { return VivatechREIPlugin.PRESSING; diff --git a/src/main/java/vivatech/rei/TieredMachineDisplay.java b/src/main/java/vivatech/rei/TieredMachineDisplay.java new file mode 100644 index 0000000..79efdd6 --- /dev/null +++ b/src/main/java/vivatech/rei/TieredMachineDisplay.java @@ -0,0 +1,55 @@ +package vivatech.rei; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +import com.google.common.collect.ImmutableList; + +import me.shedaniel.rei.api.RecipeDisplay; +import net.minecraft.item.ItemStack; +import vivatech.recipe.ProcessingRecipe; +import vivatech.util.MachineTier; + +public abstract class TieredMachineDisplay implements RecipeDisplay { + protected final T recipe; + protected final List> input; + List output; + + public TieredMachineDisplay(T recipe) { + this.recipe = recipe; + input = recipe.getPreviewInputs().stream() + .map(ingredient -> Arrays.asList(ingredient.getStackArray())) + .collect(Collectors.toList()); + output = ImmutableList.of(recipe.getOutput()); + } + + @Override + public Optional getRecipe() { + return Optional.of(recipe); + } + + @Override + public List> getInput() { + return input; + } + + @Override + public List getOutput() { + return output; + } + + @Override + public List> getRequiredItems() { + return input; + } + + public MachineTier getMinTier() { + return recipe.getMinTier(); + } + + public int getEnergyCost() { + return recipe.getEnergyCost(); + } +} diff --git a/src/main/java/vivatech/rei/widget/LabelWidget.java b/src/main/java/vivatech/rei/widget/LabelWidget.java new file mode 100644 index 0000000..cc262a8 --- /dev/null +++ b/src/main/java/vivatech/rei/widget/LabelWidget.java @@ -0,0 +1,32 @@ +package vivatech.rei.widget; + +import java.util.Collections; +import java.util.List; + +import me.shedaniel.rei.gui.widget.Widget; +import net.minecraft.client.gui.Element; +import net.minecraft.network.chat.Component; + +public class LabelWidget extends Widget { + protected int x; + protected int y; + protected Component text; + + public LabelWidget(int x, int y, Component component) { + this.text = component; + this.x = x; + this.y = y; + } + + @Override + public void render(int mouseX, int mouseY, float delta) { + font.draw(text.getFormattedText(), x, y, 0x666666); + } + + + @Override + public List children() { + return Collections.emptyList(); + } + +} diff --git a/src/main/java/vivatech/util/MachineTier.java b/src/main/java/vivatech/util/MachineTier.java index 92af2e2..0edad0d 100644 --- a/src/main/java/vivatech/util/MachineTier.java +++ b/src/main/java/vivatech/util/MachineTier.java @@ -2,12 +2,18 @@ public enum MachineTier { - MINIMAL(1.5F, 0, "minimal"), NORMAL(2F, 3, "normal"), ADVANCED(3F, 5, "advanced"); + MINIMAL(1F, 0, "minimal"), NORMAL(2F, 3, "normal"), ADVANCED(3F, 5, "advanced"); private final float speedMultiplier; private final int upgradeSlots; private final String affix; + MachineTier(float speedMultiplier, int upgradeSlots, String affix) { + this.speedMultiplier = speedMultiplier; + this.upgradeSlots = upgradeSlots; + this.affix = affix; + } + public float getSpeedMultiplier() { return speedMultiplier; } @@ -19,11 +25,12 @@ public int getUpgradeSlots() { public String getAffix() { return affix; } - - MachineTier(float speedMultiplier, int upgradeSlots, String affix) { - this.speedMultiplier = speedMultiplier; - this.upgradeSlots = upgradeSlots; - this.affix = affix; + + public static MachineTier forAffix(String affix) { + for(MachineTier tier : MachineTier.values()) { + if (tier.affix.equals(affix)) return tier; + } + + return MachineTier.MINIMAL; } - } \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/advanced_crusher.json b/src/main/resources/assets/vivatech/blockstates/advanced_crusher.json new file mode 100644 index 0000000..6d143c2 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/advanced_crusher.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/advanced_crusher" }, + "facing=east,active=false": { "model": "vivatech:block/advanced_crusher", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/advanced_crusher", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/advanced_crusher", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/advanced_crusher_active" }, + "facing=east,active=true": { "model": "vivatech:block/advanced_crusher_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/advanced_crusher_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/advanced_crusher_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/advanced_electric_furnace.json b/src/main/resources/assets/vivatech/blockstates/advanced_electric_furnace.json new file mode 100644 index 0000000..cacb7c4 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/advanced_electric_furnace.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/advanced_electric_furnace" }, + "facing=east,active=false": { "model": "vivatech:block/advanced_electric_furnace", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/advanced_electric_furnace", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/advanced_electric_furnace", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/advanced_electric_furnace_active" }, + "facing=east,active=true": { "model": "vivatech:block/advanced_electric_furnace_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/advanced_electric_furnace_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/advanced_electric_furnace_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/advanced_press.json b/src/main/resources/assets/vivatech/blockstates/advanced_press.json new file mode 100644 index 0000000..a9d4276 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/advanced_press.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/advanced_press" }, + "facing=east,active=false": { "model": "vivatech:block/advanced_press", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/advanced_press", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/advanced_press", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/advanced_press_active" }, + "facing=east,active=true": { "model": "vivatech:block/advanced_press_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/advanced_press_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/advanced_press_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/crusher.json b/src/main/resources/assets/vivatech/blockstates/crusher.json deleted file mode 100644 index 6d65569..0000000 --- a/src/main/resources/assets/vivatech/blockstates/crusher.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "facing=north,active=false": { "model": "vivatech:block/crusher" }, - "facing=east,active=false": { "model": "vivatech:block/crusher", "y": 90 }, - "facing=south,active=false": { "model": "vivatech:block/crusher", "y": 180 }, - "facing=west,active=false": { "model": "vivatech:block/crusher", "y": 270 }, - "facing=north,active=true": { "model": "vivatech:block/crusher_active" }, - "facing=east,active=true": { "model": "vivatech:block/crusher_active", "y": 90 }, - "facing=south,active=true": { "model": "vivatech:block/crusher_active", "y": 180 }, - "facing=west,active=true": { "model": "vivatech:block/crusher_active", "y": 270 } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/electric_furnace.json b/src/main/resources/assets/vivatech/blockstates/electric_furnace.json deleted file mode 100644 index 6fcfdfe..0000000 --- a/src/main/resources/assets/vivatech/blockstates/electric_furnace.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "facing=north,active=false": { "model": "vivatech:block/electric_furnace" }, - "facing=east,active=false": { "model": "vivatech:block/electric_furnace", "y": 90 }, - "facing=south,active=false": { "model": "vivatech:block/electric_furnace", "y": 180 }, - "facing=west,active=false": { "model": "vivatech:block/electric_furnace", "y": 270 }, - "facing=north,active=true": { "model": "vivatech:block/electric_furnace_active" }, - "facing=east,active=true": { "model": "vivatech:block/electric_furnace_active", "y": 90 }, - "facing=south,active=true": { "model": "vivatech:block/electric_furnace_active", "y": 180 }, - "facing=west,active=true": { "model": "vivatech:block/electric_furnace_active", "y": 270 } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/heavy_machine_chassis.json b/src/main/resources/assets/vivatech/blockstates/heavy_machine_chassis.json new file mode 100644 index 0000000..e1b9b1d --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/heavy_machine_chassis.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vivatech:block/advanced_machine_chassis" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/light_machine_chassis.json b/src/main/resources/assets/vivatech/blockstates/light_machine_chassis.json new file mode 100644 index 0000000..652e8d2 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/light_machine_chassis.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vivatech:block/minimal_machine_chassis" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/machine_chassis.json b/src/main/resources/assets/vivatech/blockstates/machine_chassis.json deleted file mode 100644 index a1eeb1a..0000000 --- a/src/main/resources/assets/vivatech/blockstates/machine_chassis.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "vivatech:block/machine_chassis" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/minimal_crusher.json b/src/main/resources/assets/vivatech/blockstates/minimal_crusher.json new file mode 100644 index 0000000..40facb6 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/minimal_crusher.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/minimal_crusher" }, + "facing=east,active=false": { "model": "vivatech:block/minimal_crusher", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/minimal_crusher", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/minimal_crusher", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/minimal_crusher_active" }, + "facing=east,active=true": { "model": "vivatech:block/minimal_crusher_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/minimal_crusher_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/minimal_crusher_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/minimal_electric_furnace.json b/src/main/resources/assets/vivatech/blockstates/minimal_electric_furnace.json new file mode 100644 index 0000000..103ef38 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/minimal_electric_furnace.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/minimal_electric_furnace" }, + "facing=east,active=false": { "model": "vivatech:block/minimal_electric_furnace", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/minimal_electric_furnace", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/minimal_electric_furnace", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/minimal_electric_furnace_active" }, + "facing=east,active=true": { "model": "vivatech:block/minimal_electric_furnace_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/minimal_electric_furnace_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/minimal_electric_furnace_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/minimal_press.json b/src/main/resources/assets/vivatech/blockstates/minimal_press.json new file mode 100644 index 0000000..afa94ae --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/minimal_press.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/minimal_press" }, + "facing=east,active=false": { "model": "vivatech:block/minimal_press", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/minimal_press", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/minimal_press", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/minimal_press_active" }, + "facing=east,active=true": { "model": "vivatech:block/minimal_press_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/minimal_press_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/minimal_press_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/normal_crusher.json b/src/main/resources/assets/vivatech/blockstates/normal_crusher.json new file mode 100644 index 0000000..9dd5eee --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/normal_crusher.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/normal_crusher" }, + "facing=east,active=false": { "model": "vivatech:block/normal_crusher", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/normal_crusher", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/normal_crusher", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/normal_crusher_active" }, + "facing=east,active=true": { "model": "vivatech:block/normal_crusher_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/normal_crusher_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/normal_crusher_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/normal_electric_furnace.json b/src/main/resources/assets/vivatech/blockstates/normal_electric_furnace.json new file mode 100644 index 0000000..b7224b5 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/normal_electric_furnace.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/normal_electric_furnace" }, + "facing=east,active=false": { "model": "vivatech:block/normal_electric_furnace", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/normal_electric_furnace", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/normal_electric_furnace", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/normal_electric_furnace_active" }, + "facing=east,active=true": { "model": "vivatech:block/normal_electric_furnace_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/normal_electric_furnace_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/normal_electric_furnace_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/normal_press.json b/src/main/resources/assets/vivatech/blockstates/normal_press.json new file mode 100644 index 0000000..7bca8d0 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/normal_press.json @@ -0,0 +1,12 @@ +{ + "variants": { + "facing=north,active=false": { "model": "vivatech:block/normal_press" }, + "facing=east,active=false": { "model": "vivatech:block/normal_press", "y": 90 }, + "facing=south,active=false": { "model": "vivatech:block/normal_press", "y": 180 }, + "facing=west,active=false": { "model": "vivatech:block/normal_press", "y": 270 }, + "facing=north,active=true": { "model": "vivatech:block/normal_press_active" }, + "facing=east,active=true": { "model": "vivatech:block/normal_press_active", "y": 90 }, + "facing=south,active=true": { "model": "vivatech:block/normal_press_active", "y": 180 }, + "facing=west,active=true": { "model": "vivatech:block/normal_press_active", "y": 270 } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/press.json b/src/main/resources/assets/vivatech/blockstates/press.json deleted file mode 100644 index 7eea5e7..0000000 --- a/src/main/resources/assets/vivatech/blockstates/press.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "facing=north,active=false": { "model": "vivatech:block/press" }, - "facing=east,active=false": { "model": "vivatech:block/press", "y": 90 }, - "facing=south,active=false": { "model": "vivatech:block/press", "y": 180 }, - "facing=west,active=false": { "model": "vivatech:block/press", "y": 270 }, - "facing=north,active=true": { "model": "vivatech:block/press_active" }, - "facing=east,active=true": { "model": "vivatech:block/press_active", "y": 90 }, - "facing=south,active=true": { "model": "vivatech:block/press_active", "y": 180 }, - "facing=west,active=true": { "model": "vivatech:block/press_active", "y": 270 } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/blockstates/regular_machine_chassis.json b/src/main/resources/assets/vivatech/blockstates/regular_machine_chassis.json new file mode 100644 index 0000000..d628a45 --- /dev/null +++ b/src/main/resources/assets/vivatech/blockstates/regular_machine_chassis.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vivatech:block/normal_machine_chassis" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/lang/en_us.json b/src/main/resources/assets/vivatech/lang/en_us.json index ca107c6..b0d5937 100644 --- a/src/main/resources/assets/vivatech/lang/en_us.json +++ b/src/main/resources/assets/vivatech/lang/en_us.json @@ -1,15 +1,28 @@ { "itemGroup.vivatech.item_group": "Vivatech", - "info.vivatech.energy": "%d J", - "info.vivatech.energy_with_max": "%d/%d J", - "block.vivatech.machine_chassis": "Machine Chassis", - "block.vivatech.energy_conduit": "Energy Conduit", + + "block.vivatech.light_machine_chassis" : "Light Machine Chassis", + "block.vivatech.regular_machine_chassis": "Regular Machine Chassis", + "block.vivatech.heavy_machine_chassis" : "Heavy Machine Chassis", + "block.vivatech.coal_generator": "Coal Generator", "block.vivatech.crusher": "Crusher", "block.vivatech.electric_furnace": "Electric Furnace", - "block.vivatech.energy_bank": "Energy Bank", "block.vivatech.press": "Press", - "item.vivatech.battery": "Battery", - "gui.vivatech.crushing": "Crushing", - "gui.vivatech.pressing": "Pressing" -} \ No newline at end of file + "block.vivatech.energy_bank": "Energy Bank", + "block.vivatech.energy_conduit": "Energy Conduit", + + "item.vivatech.battery" : "Battery", + + "gui.vivatech.crushing" : "Crushing", + "gui.vivatech.pressing" : "Pressing", + + "info.vivatech.energy": "%d J", + "info.vivatech.energy_with_max": "%d/%d J", + "info.vivatech.energy_cost" : "Energy: %d J", + + "info.vivatech.tier" : "Tier: %s", + "info.vivatech.tier.minimal" : "Minimal", + "info.vivatech.tier.normal" : "Normal", + "info.vivatech.tier.advanced" : "Advanced" +} diff --git a/src/main/resources/assets/vivatech/models/block/advanced_crusher.json b/src/main/resources/assets/vivatech/models/block/advanced_crusher.json new file mode 100644 index 0000000..bae3f66 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_crusher.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_machine_chassis", + "textures": { + "front": "vivatech:block/advanced_crusher_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_crusher_active.json b/src/main/resources/assets/vivatech/models/block/advanced_crusher_active.json new file mode 100644 index 0000000..bfb0246 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_crusher_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_crusher", + "textures": { + "front": "vivatech:block/advanced_crusher_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace.json b/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace.json new file mode 100644 index 0000000..7bd3196 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_machine_chassis", + "textures": { + "front": "vivatech:block/advanced_electric_furnace_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace_active.json b/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace_active.json new file mode 100644 index 0000000..bc15b51 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_electric_furnace_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_electric_furnace", + "textures": { + "front": "vivatech:block/advanced_electric_furnace_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_machine_chassis.json b/src/main/resources/assets/vivatech/models/block/advanced_machine_chassis.json new file mode 100644 index 0000000..52f6895 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_machine_chassis.json @@ -0,0 +1,9 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "vivatech:block/advanced_machine_top", + "bottom": "vivatech:block/advanced_machine_bottom", + "side": "vivatech:block/advanced_machine_side", + "front": "vivatech:block/advanced_machine_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_press.json b/src/main/resources/assets/vivatech/models/block/advanced_press.json new file mode 100644 index 0000000..bac9dcf --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_press.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_machine_chassis", + "textures": { + "front": "vivatech:block/advanced_press_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/advanced_press_active.json b/src/main/resources/assets/vivatech/models/block/advanced_press_active.json new file mode 100644 index 0000000..25f75e4 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/advanced_press_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/advanced_press", + "textures": { + "front": "vivatech:block/advanced_press_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/coal_generator.json b/src/main/resources/assets/vivatech/models/block/coal_generator.json index ed746f2..eeb9431 100644 --- a/src/main/resources/assets/vivatech/models/block/coal_generator.json +++ b/src/main/resources/assets/vivatech/models/block/coal_generator.json @@ -1,5 +1,5 @@ { - "parent": "vivatech:block/machine_chassis", + "parent": "vivatech:block/normal_machine_chassis", "textures": { "front": "vivatech:block/coal_generator_front" } diff --git a/src/main/resources/assets/vivatech/models/block/crusher.json b/src/main/resources/assets/vivatech/models/block/crusher.json deleted file mode 100644 index 4d9ac54..0000000 --- a/src/main/resources/assets/vivatech/models/block/crusher.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/machine_chassis", - "textures": { - "front": "vivatech:block/crusher_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/crusher_active.json b/src/main/resources/assets/vivatech/models/block/crusher_active.json deleted file mode 100644 index a7eb04a..0000000 --- a/src/main/resources/assets/vivatech/models/block/crusher_active.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/crusher", - "textures": { - "front": "vivatech:block/crusher_active_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/electric_furnace.json b/src/main/resources/assets/vivatech/models/block/electric_furnace.json deleted file mode 100644 index 65fd82a..0000000 --- a/src/main/resources/assets/vivatech/models/block/electric_furnace.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/machine_chassis", - "textures": { - "front": "vivatech:block/electric_furnace_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/electric_furnace_active.json b/src/main/resources/assets/vivatech/models/block/electric_furnace_active.json deleted file mode 100644 index 386c223..0000000 --- a/src/main/resources/assets/vivatech/models/block/electric_furnace_active.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/electric_furnace", - "textures": { - "front": "vivatech:block/electric_furnace_active_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/energy_bank.json b/src/main/resources/assets/vivatech/models/block/energy_bank.json index 4e22061..db960df 100644 --- a/src/main/resources/assets/vivatech/models/block/energy_bank.json +++ b/src/main/resources/assets/vivatech/models/block/energy_bank.json @@ -1,5 +1,5 @@ { - "parent": "vivatech:block/machine_chassis", + "parent": "vivatech:block/normal_machine_chassis", "textures": { "side": "vivatech:block/energy_bank_side", "front": "vivatech:block/energy_bank_side" diff --git a/src/main/resources/assets/vivatech/models/block/machine_chassis.json b/src/main/resources/assets/vivatech/models/block/machine_chassis.json deleted file mode 100644 index 78f88f0..0000000 --- a/src/main/resources/assets/vivatech/models/block/machine_chassis.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/orientable", - "textures": { - "top": "vivatech:block/machine_top", - "bottom": "vivatech:block/machine_bottom", - "side": "vivatech:block/machine_side", - "front": "vivatech:block/machine_side" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_crusher.json b/src/main/resources/assets/vivatech/models/block/minimal_crusher.json new file mode 100644 index 0000000..687af19 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_crusher.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_machine_chassis", + "textures": { + "front": "vivatech:block/minimal_crusher_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_crusher_active.json b/src/main/resources/assets/vivatech/models/block/minimal_crusher_active.json new file mode 100644 index 0000000..29f4efd --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_crusher_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_crusher", + "textures": { + "front": "vivatech:block/minimal_crusher_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace.json b/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace.json new file mode 100644 index 0000000..37d28c8 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_machine_chassis", + "textures": { + "front": "vivatech:block/minimal_electric_furnace_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace_active.json b/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace_active.json new file mode 100644 index 0000000..d078b6e --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_electric_furnace_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_electric_furnace", + "textures": { + "front": "vivatech:block/minimal_electric_furnace_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_machine_chassis.json b/src/main/resources/assets/vivatech/models/block/minimal_machine_chassis.json new file mode 100644 index 0000000..1d967cf --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_machine_chassis.json @@ -0,0 +1,9 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "vivatech:block/minimal_machine_top", + "bottom": "vivatech:block/minimal_machine_bottom", + "side": "vivatech:block/minimal_machine_side", + "front": "vivatech:block/minimal_machine_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_press.json b/src/main/resources/assets/vivatech/models/block/minimal_press.json new file mode 100644 index 0000000..30c8c6e --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_press.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_machine_chassis", + "textures": { + "front": "vivatech:block/minimal_press_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/minimal_press_active.json b/src/main/resources/assets/vivatech/models/block/minimal_press_active.json new file mode 100644 index 0000000..75b203c --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/minimal_press_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/minimal_press", + "textures": { + "front": "vivatech:block/minimal_press_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_crusher.json b/src/main/resources/assets/vivatech/models/block/normal_crusher.json new file mode 100644 index 0000000..c3b4d47 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_crusher.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_machine_chassis", + "textures": { + "front": "vivatech:block/normal_crusher_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_crusher_active.json b/src/main/resources/assets/vivatech/models/block/normal_crusher_active.json new file mode 100644 index 0000000..3c03a45 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_crusher_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_crusher", + "textures": { + "front": "vivatech:block/normal_crusher_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_electric_furnace.json b/src/main/resources/assets/vivatech/models/block/normal_electric_furnace.json new file mode 100644 index 0000000..41b2253 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_electric_furnace.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_machine_chassis", + "textures": { + "front": "vivatech:block/normal_electric_furnace_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_electric_furnace_active.json b/src/main/resources/assets/vivatech/models/block/normal_electric_furnace_active.json new file mode 100644 index 0000000..a564388 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_electric_furnace_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_electric_furnace", + "textures": { + "front": "vivatech:block/normal_electric_furnace_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_machine_chassis.json b/src/main/resources/assets/vivatech/models/block/normal_machine_chassis.json new file mode 100644 index 0000000..ea6c9ac --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_machine_chassis.json @@ -0,0 +1,9 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "vivatech:block/normal_machine_top", + "bottom": "vivatech:block/normal_machine_bottom", + "side": "vivatech:block/normal_machine_side", + "front": "vivatech:block/normal_machine_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_press.json b/src/main/resources/assets/vivatech/models/block/normal_press.json new file mode 100644 index 0000000..c2d0dae --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_press.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_machine_chassis", + "textures": { + "front": "vivatech:block/normal_press_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/normal_press_active.json b/src/main/resources/assets/vivatech/models/block/normal_press_active.json new file mode 100644 index 0000000..bb76c78 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/block/normal_press_active.json @@ -0,0 +1,6 @@ +{ + "parent": "vivatech:block/normal_press", + "textures": { + "front": "vivatech:block/normal_press_active_front" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/press.json b/src/main/resources/assets/vivatech/models/block/press.json deleted file mode 100644 index 3df3245..0000000 --- a/src/main/resources/assets/vivatech/models/block/press.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/machine_chassis", - "textures": { - "front": "vivatech:block/press_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/block/press_active.json b/src/main/resources/assets/vivatech/models/block/press_active.json deleted file mode 100644 index f82a8ea..0000000 --- a/src/main/resources/assets/vivatech/models/block/press_active.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "vivatech:block/press", - "textures": { - "front": "vivatech:block/press_active_front" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/advanced_crusher.json b/src/main/resources/assets/vivatech/models/item/advanced_crusher.json new file mode 100644 index 0000000..4d48299 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/advanced_crusher.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/advanced_crusher" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/advanced_electric_furnace.json b/src/main/resources/assets/vivatech/models/item/advanced_electric_furnace.json new file mode 100644 index 0000000..bbea952 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/advanced_electric_furnace.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/advanced_electric_furnace" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/advanced_press.json b/src/main/resources/assets/vivatech/models/item/advanced_press.json new file mode 100644 index 0000000..5a8d2cb --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/advanced_press.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/advanced_press" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/crusher.json b/src/main/resources/assets/vivatech/models/item/crusher.json deleted file mode 100644 index a6cc44f..0000000 --- a/src/main/resources/assets/vivatech/models/item/crusher.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "vivatech:block/crusher" -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/electric_furnace.json b/src/main/resources/assets/vivatech/models/item/electric_furnace.json deleted file mode 100644 index d2686be..0000000 --- a/src/main/resources/assets/vivatech/models/item/electric_furnace.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "vivatech:block/electric_furnace" -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/heavy_machine_chassis.json b/src/main/resources/assets/vivatech/models/item/heavy_machine_chassis.json new file mode 100644 index 0000000..33b0e8d --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/heavy_machine_chassis.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/advanced_machine_chassis" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/light_machine_chassis.json b/src/main/resources/assets/vivatech/models/item/light_machine_chassis.json new file mode 100644 index 0000000..7907589 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/light_machine_chassis.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/minimal_machine_chassis" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/machine_chassis.json b/src/main/resources/assets/vivatech/models/item/machine_chassis.json deleted file mode 100644 index 8513d2e..0000000 --- a/src/main/resources/assets/vivatech/models/item/machine_chassis.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "vivatech:block/machine_chassis" -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/minimal_crusher.json b/src/main/resources/assets/vivatech/models/item/minimal_crusher.json new file mode 100644 index 0000000..8f8ed38 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/minimal_crusher.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/minimal_crusher" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/minimal_electric_furnace.json b/src/main/resources/assets/vivatech/models/item/minimal_electric_furnace.json new file mode 100644 index 0000000..fcefaa2 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/minimal_electric_furnace.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/minimal_electric_furnace" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/minimal_press.json b/src/main/resources/assets/vivatech/models/item/minimal_press.json new file mode 100644 index 0000000..1d1ed0b --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/minimal_press.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/minimal_press" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/normal_crusher.json b/src/main/resources/assets/vivatech/models/item/normal_crusher.json new file mode 100644 index 0000000..fd750f8 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/normal_crusher.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/normal_crusher" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/normal_electric_furnace.json b/src/main/resources/assets/vivatech/models/item/normal_electric_furnace.json new file mode 100644 index 0000000..c7b49ae --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/normal_electric_furnace.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/normal_electric_furnace" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/normal_press.json b/src/main/resources/assets/vivatech/models/item/normal_press.json new file mode 100644 index 0000000..6df18b0 --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/normal_press.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/normal_press" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/press.json b/src/main/resources/assets/vivatech/models/item/press.json deleted file mode 100644 index e84253f..0000000 --- a/src/main/resources/assets/vivatech/models/item/press.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "vivatech:block/press" -} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/models/item/regular_machine_chassis.json b/src/main/resources/assets/vivatech/models/item/regular_machine_chassis.json new file mode 100644 index 0000000..1a79cac --- /dev/null +++ b/src/main/resources/assets/vivatech/models/item/regular_machine_chassis.json @@ -0,0 +1,3 @@ +{ + "parent": "vivatech:block/normal_machine_chassis" +} \ No newline at end of file diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_crusher_active_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_crusher_active_front.png new file mode 100644 index 0000000..b1372bd Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_crusher_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_crusher_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_crusher_front.png new file mode 100644 index 0000000..6ed6a93 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_crusher_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_active_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_active_front.png new file mode 100644 index 0000000..2e011f0 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_front.png new file mode 100644 index 0000000..dd67e53 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_electric_furnace_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_machine_bottom.png b/src/main/resources/assets/vivatech/textures/block/advanced_machine_bottom.png new file mode 100644 index 0000000..edf55e2 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_machine_bottom.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_machine_side.png b/src/main/resources/assets/vivatech/textures/block/advanced_machine_side.png new file mode 100644 index 0000000..6a48eee Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_machine_side.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_machine_top.png b/src/main/resources/assets/vivatech/textures/block/advanced_machine_top.png new file mode 100644 index 0000000..988c9d9 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_machine_top.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_press_active_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_press_active_front.png new file mode 100644 index 0000000..49719ea Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_press_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/advanced_press_front.png b/src/main/resources/assets/vivatech/textures/block/advanced_press_front.png new file mode 100644 index 0000000..e4c3a05 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/advanced_press_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_crusher_active_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_crusher_active_front.png new file mode 100644 index 0000000..6676ba8 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_crusher_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_crusher_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_crusher_front.png new file mode 100644 index 0000000..e1831bc Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_crusher_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_active_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_active_front.png new file mode 100644 index 0000000..128aaeb Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_front.png new file mode 100644 index 0000000..bdf6eed Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_electric_furnace_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_machine_bottom.png b/src/main/resources/assets/vivatech/textures/block/minimal_machine_bottom.png new file mode 100644 index 0000000..da40be2 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_machine_bottom.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_machine_side.png b/src/main/resources/assets/vivatech/textures/block/minimal_machine_side.png new file mode 100644 index 0000000..cacfb64 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_machine_side.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_machine_top.png b/src/main/resources/assets/vivatech/textures/block/minimal_machine_top.png new file mode 100644 index 0000000..72d412d Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_machine_top.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_press_active_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_press_active_front.png new file mode 100644 index 0000000..ed21b53 Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_press_active_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/minimal_press_front.png b/src/main/resources/assets/vivatech/textures/block/minimal_press_front.png new file mode 100644 index 0000000..f4f9b4a Binary files /dev/null and b/src/main/resources/assets/vivatech/textures/block/minimal_press_front.png differ diff --git a/src/main/resources/assets/vivatech/textures/block/crusher_active_front.png b/src/main/resources/assets/vivatech/textures/block/normal_crusher_active_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/crusher_active_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_crusher_active_front.png diff --git a/src/main/resources/assets/vivatech/textures/block/crusher_front.png b/src/main/resources/assets/vivatech/textures/block/normal_crusher_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/crusher_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_crusher_front.png diff --git a/src/main/resources/assets/vivatech/textures/block/electric_furnace_active_front.png b/src/main/resources/assets/vivatech/textures/block/normal_electric_furnace_active_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/electric_furnace_active_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_electric_furnace_active_front.png diff --git a/src/main/resources/assets/vivatech/textures/block/electric_furnace_front.png b/src/main/resources/assets/vivatech/textures/block/normal_electric_furnace_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/electric_furnace_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_electric_furnace_front.png diff --git a/src/main/resources/assets/vivatech/textures/block/machine_bottom.png b/src/main/resources/assets/vivatech/textures/block/normal_machine_bottom.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/machine_bottom.png rename to src/main/resources/assets/vivatech/textures/block/normal_machine_bottom.png diff --git a/src/main/resources/assets/vivatech/textures/block/machine_side.png b/src/main/resources/assets/vivatech/textures/block/normal_machine_side.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/machine_side.png rename to src/main/resources/assets/vivatech/textures/block/normal_machine_side.png diff --git a/src/main/resources/assets/vivatech/textures/block/machine_top.png b/src/main/resources/assets/vivatech/textures/block/normal_machine_top.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/machine_top.png rename to src/main/resources/assets/vivatech/textures/block/normal_machine_top.png diff --git a/src/main/resources/assets/vivatech/textures/block/press_active_front.png b/src/main/resources/assets/vivatech/textures/block/normal_press_active_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/press_active_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_press_active_front.png diff --git a/src/main/resources/assets/vivatech/textures/block/press_front.png b/src/main/resources/assets/vivatech/textures/block/normal_press_front.png similarity index 100% rename from src/main/resources/assets/vivatech/textures/block/press_front.png rename to src/main/resources/assets/vivatech/textures/block/normal_press_front.png diff --git a/src/main/resources/assets/vivatech/textures/item/battery.png b/src/main/resources/assets/vivatech/textures/item/battery.png index 4603254..e8b2470 100644 Binary files a/src/main/resources/assets/vivatech/textures/item/battery.png and b/src/main/resources/assets/vivatech/textures/item/battery.png differ diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/electric_furnace.json b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_crusher.json similarity index 85% rename from src/main/resources/data/vivatech/loot_tables/blocks/electric_furnace.json rename to src/main/resources/data/vivatech/loot_tables/blocks/advanced_crusher.json index b003c81..972155b 100644 --- a/src/main/resources/data/vivatech/loot_tables/blocks/electric_furnace.json +++ b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_crusher.json @@ -5,7 +5,7 @@ "entries": [ { "type": "minecraft:item", - "name": "vivatech:electric_furnace" + "name": "vivatech:advanced_crusher" } ], "conditions": [ diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/advanced_electric_furnace.json b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_electric_furnace.json new file mode 100644 index 0000000..739743a --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:advanced_electric_furnace" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/machine_chassis.json b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_press.json similarity index 85% rename from src/main/resources/data/vivatech/loot_tables/blocks/machine_chassis.json rename to src/main/resources/data/vivatech/loot_tables/blocks/advanced_press.json index 0c234e7..c8a1a31 100644 --- a/src/main/resources/data/vivatech/loot_tables/blocks/machine_chassis.json +++ b/src/main/resources/data/vivatech/loot_tables/blocks/advanced_press.json @@ -5,7 +5,7 @@ "entries": [ { "type": "minecraft:item", - "name": "vivatech:machine_chassis" + "name": "vivatech:advanced_press" } ], "conditions": [ diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/light_machine_chassis.json b/src/main/resources/data/vivatech/loot_tables/blocks/light_machine_chassis.json new file mode 100644 index 0000000..32514a2 --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/light_machine_chassis.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:light_machine_chassis" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/minimal_crusher.json b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_crusher.json new file mode 100644 index 0000000..d5ad34c --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_crusher.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:minimal_crusher" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/minimal_electric_furnace.json b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_electric_furnace.json new file mode 100644 index 0000000..ae8d2d8 --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:minimal_electric_furnace" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/crusher.json b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_press.json similarity index 86% rename from src/main/resources/data/vivatech/loot_tables/blocks/crusher.json rename to src/main/resources/data/vivatech/loot_tables/blocks/minimal_press.json index cd43d59..a6774e4 100644 --- a/src/main/resources/data/vivatech/loot_tables/blocks/crusher.json +++ b/src/main/resources/data/vivatech/loot_tables/blocks/minimal_press.json @@ -5,7 +5,7 @@ "entries": [ { "type": "minecraft:item", - "name": "vivatech:crusher" + "name": "vivatech:minimal_press" } ], "conditions": [ diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/normal_crusher.json b/src/main/resources/data/vivatech/loot_tables/blocks/normal_crusher.json new file mode 100644 index 0000000..82b7244 --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/normal_crusher.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:normal_crusher" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/normal_electric_furnace.json b/src/main/resources/data/vivatech/loot_tables/blocks/normal_electric_furnace.json new file mode 100644 index 0000000..af9c683 --- /dev/null +++ b/src/main/resources/data/vivatech/loot_tables/blocks/normal_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vivatech:normal_electric_furnace" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ], + "type": "minecraft:block" +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/loot_tables/blocks/press.json b/src/main/resources/data/vivatech/loot_tables/blocks/normal_press.json similarity index 86% rename from src/main/resources/data/vivatech/loot_tables/blocks/press.json rename to src/main/resources/data/vivatech/loot_tables/blocks/normal_press.json index e320d54..92275e4 100644 --- a/src/main/resources/data/vivatech/loot_tables/blocks/press.json +++ b/src/main/resources/data/vivatech/loot_tables/blocks/normal_press.json @@ -5,7 +5,7 @@ "entries": [ { "type": "minecraft:item", - "name": "vivatech:press" + "name": "vivatech:normal_press" } ], "conditions": [ diff --git a/src/main/resources/data/vivatech/recipes/advanced_crusher.json b/src/main/resources/data/vivatech/recipes/advanced_crusher.json new file mode 100644 index 0000000..331ad12 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/advanced_crusher.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:heavy_machine_chassis" + }, + "B": { + "item": "vivatech:normal_crusher" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:advanced_crusher" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/advanced_electric_furnace.json b/src/main/resources/data/vivatech/recipes/advanced_electric_furnace.json new file mode 100644 index 0000000..415f9ed --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/advanced_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:heavy_machine_chassis" + }, + "B": { + "item": "vivatech:normal_electric_furnace" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:advanced_electric_furnace" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/advanced_press.json b/src/main/resources/data/vivatech/recipes/advanced_press.json new file mode 100644 index 0000000..04ddd8d --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/advanced_press.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:heavy_machine_chassis" + }, + "B": { + "item": "vivatech:normal_press" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:advanced_press" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/coal_generator.json b/src/main/resources/data/vivatech/recipes/coal_generator.json index 2564814..2556529 100644 --- a/src/main/resources/data/vivatech/recipes/coal_generator.json +++ b/src/main/resources/data/vivatech/recipes/coal_generator.json @@ -7,7 +7,7 @@ "item": "minecraft:furnace" }, "B": { - "item": "vivatech:machine_chassis" + "item": "vivatech:light_machine_chassis" }, "C": { "item": "minecraft:redstone" diff --git a/src/main/resources/data/vivatech/recipes/crusher.json b/src/main/resources/data/vivatech/recipes/crusher.json deleted file mode 100644 index adb466d..0000000 --- a/src/main/resources/data/vivatech/recipes/crusher.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "vivatech", - "pattern": ["AAA", "ABA", "CDC"], - "key": { - "A": { - "item": "minecraft:flint" - }, - "B": { - "item": "vivatech:machine_chassis" - }, - "C": { - "item": "minecraft:redstone" - }, - "D": { - "tag": "c:cobalt_nugget" - } - }, - "result": { - "item": "vivatech:crusher" - } -} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/electric_furnace.json b/src/main/resources/data/vivatech/recipes/electric_furnace.json deleted file mode 100644 index 87d2358..0000000 --- a/src/main/resources/data/vivatech/recipes/electric_furnace.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "vivatech", - "pattern": ["AAA", "BCD", "EFE"], - "key": { - "A": { - "tag": "c:copper_ingot" - }, - "B": { - "item": "minecraft:smoker" - }, - "C": { - "item": "vivatech:machine_chassis" - }, - "D": { - "item": "minecraft:blast_furnace" - }, - "E": { - "item": "minecraft:redstone" - }, - "F": { - "tag": "c:cobalt_nugget" - } - }, - "result": { - "item": "vivatech:electric_furnace" - } -} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/energy_bank.json b/src/main/resources/data/vivatech/recipes/energy_bank.json index bcc418a..ad3dba2 100644 --- a/src/main/resources/data/vivatech/recipes/energy_bank.json +++ b/src/main/resources/data/vivatech/recipes/energy_bank.json @@ -10,7 +10,7 @@ "tag": "c:cobalt_plate" }, "C": { - "item": "vivatech:machine_chassis" + "item": "vivatech:light_machine_chassis" }, "D": { "tag": "c:gold_plate" diff --git a/src/main/resources/data/vivatech/recipes/heavy_machine_chassis.json b/src/main/resources/data/vivatech/recipes/heavy_machine_chassis.json new file mode 100644 index 0000000..f2cb337 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/heavy_machine_chassis.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["CAC", "ABA", "CAC"], + "key": { + "A": { + "tag": "c:steel_plate" + }, + "B": { + "tag": "c:tungsten_gear" + }, + "C": { + "item": "minecraft:gold_ingot" + } + }, + "result": { + "item": "vivatech:heavy_machine_chassis" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/light_machine_chassis.json b/src/main/resources/data/vivatech/recipes/light_machine_chassis.json new file mode 100644 index 0000000..86daefc --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/light_machine_chassis.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["CAC", "ABA", "CAC"], + "key": { + "A": { + "item": "minecraft:glass_pane" + }, + "B": { + "tag": "c:iron_gear" + }, + "C": { + "item": "minecraft:brick" + } + }, + "result": { + "item": "vivatech:light_machine_chassis" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/minimal_crusher.json b/src/main/resources/data/vivatech/recipes/minimal_crusher.json new file mode 100644 index 0000000..e394e36 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/minimal_crusher.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": [" A ", "BBB", " C "], + "key": { + "A": { + "item": "vivatech:light_machine_chassis" + }, + "B": { + "item": "minecraft:flint" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:minimal_crusher" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/minimal_electric_furnace.json b/src/main/resources/data/vivatech/recipes/minimal_electric_furnace.json new file mode 100644 index 0000000..19074f7 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/minimal_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:light_machine_chassis" + }, + "B": { + "item": "minecraft:furnace" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:minimal_electric_furnace" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/minimal_press.json b/src/main/resources/data/vivatech/recipes/minimal_press.json new file mode 100644 index 0000000..c41f16a --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/minimal_press.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": [" A ", "BBB", " C "], + "key": { + "A": { + "item": "vivatech:light_machine_chassis" + }, + "B": { + "item": "minecraft:obsidian" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:minimal_press" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/normal_crusher.json b/src/main/resources/data/vivatech/recipes/normal_crusher.json new file mode 100644 index 0000000..4806210 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/normal_crusher.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:regular_machine_chassis" + }, + "B": { + "item": "vivatech:minimal_crusher" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:normal_crusher" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/normal_electric_furnace.json b/src/main/resources/data/vivatech/recipes/normal_electric_furnace.json new file mode 100644 index 0000000..18a88c1 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/normal_electric_furnace.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:regular_machine_chassis" + }, + "B": { + "item": "vivatech:minimal_electric_furnace" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:normal_electric_furnace" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/normal_press.json b/src/main/resources/data/vivatech/recipes/normal_press.json new file mode 100644 index 0000000..e8cad08 --- /dev/null +++ b/src/main/resources/data/vivatech/recipes/normal_press.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "vivatech", + "pattern": ["A", "B", "C"], + "key": { + "A": { + "item": "vivatech:regular_machine_chassis" + }, + "B": { + "item": "vivatech:minimal_press" + }, + "C": { + "item": "vivatech:battery" + } + }, + "result": { + "item": "vivatech:normal_press" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/press.json b/src/main/resources/data/vivatech/recipes/press.json deleted file mode 100644 index fe11b21..0000000 --- a/src/main/resources/data/vivatech/recipes/press.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "vivatech", - "pattern": ["AAA", "BCB", "DED"], - "key": { - "A": { - "tag": "c:copper_nugget" - }, - "B": { - "item": "minecraft:obsidian" - }, - "C": { - "item": "vivatech:machine_chassis" - }, - "D": { - "item": "minecraft:redstone" - }, - "E": { - "tag": "c:cobalt_nugget" - } - }, - "result": { - "item": "vivatech:press" - } -} \ No newline at end of file diff --git a/src/main/resources/data/vivatech/recipes/machine_chassis.json b/src/main/resources/data/vivatech/recipes/regular_machine_chassis.json similarity index 50% rename from src/main/resources/data/vivatech/recipes/machine_chassis.json rename to src/main/resources/data/vivatech/recipes/regular_machine_chassis.json index 65b9f3a..462bace 100644 --- a/src/main/resources/data/vivatech/recipes/machine_chassis.json +++ b/src/main/resources/data/vivatech/recipes/regular_machine_chassis.json @@ -1,16 +1,19 @@ { "type": "minecraft:crafting_shaped", "group": "vivatech", - "pattern": [" A ", "ABA", " A "], + "pattern": ["CAC", "ABA", "CAC"], "key": { "A": { "tag": "c:iron_plate" }, "B": { - "tag": "c:cobalt_plate" + "tag": "c:cobalt_gear" + }, + "C": { + "tag": "c:steel_ingot" } }, "result": { - "item": "vivatech:machine_chassis" + "item": "vivatech:regular_machine_chassis" } } \ No newline at end of file