diff --git a/src/generated/resources/assets/naturesaura/blockstates/conversion_catalyst.json b/src/generated/resources/assets/naturesaura/blockstates/conversion_catalyst.json new file mode 100644 index 00000000..afc2b40f --- /dev/null +++ b/src/generated/resources/assets/naturesaura/blockstates/conversion_catalyst.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "naturesaura:block/conversion_catalyst" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/blockstates/crushing_catalyst.json b/src/generated/resources/assets/naturesaura/blockstates/crushing_catalyst.json new file mode 100644 index 00000000..0fec8c24 --- /dev/null +++ b/src/generated/resources/assets/naturesaura/blockstates/crushing_catalyst.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "naturesaura:block/crushing_catalyst" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/blockstates/nature_altar.json b/src/generated/resources/assets/naturesaura/blockstates/nature_altar.json new file mode 100644 index 00000000..000aa5ee --- /dev/null +++ b/src/generated/resources/assets/naturesaura/blockstates/nature_altar.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "naturesaura:block/nature_altar" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/models/block/conversion_catalyst_nether.json b/src/generated/resources/assets/naturesaura/models/block/conversion_catalyst_nether.json deleted file mode 100644 index 28197deb..00000000 --- a/src/generated/resources/assets/naturesaura/models/block/conversion_catalyst_nether.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "naturesaura:block/conversion_catalyst_nether" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/naturesaura/models/block/crushing_catalyst_nether.json b/src/generated/resources/assets/naturesaura/models/block/crushing_catalyst_nether.json deleted file mode 100644 index 7fe756e9..00000000 --- a/src/generated/resources/assets/naturesaura/models/block/crushing_catalyst_nether.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "naturesaura:block/crushing_catalyst_nether" - } -} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json index 9272e035..20b33cdb 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json @@ -1,15 +1,15 @@ { "values": [ - "naturesaura:ancient_stairs", - "naturesaura:offering_table", - "naturesaura:wood_stand", + "naturesaura:ancient_planks", "naturesaura:auto_crafter", "naturesaura:ancient_bark", - "naturesaura:oak_generator", - "naturesaura:ancient_slab", "naturesaura:ancient_log", - "naturesaura:ancient_planks", - "naturesaura:nether_wart_mushroom", - "naturesaura:flower_generator" + "naturesaura:oak_generator", + "naturesaura:flower_generator", + "naturesaura:ancient_stairs", + "naturesaura:wood_stand", + "naturesaura:ancient_slab", + "naturesaura:offering_table", + "naturesaura:nether_wart_mushroom" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 4a80aebf..b802a11e 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -1,46 +1,46 @@ { "values": [ - "naturesaura:pickup_stopper", - "naturesaura:rf_converter", - "naturesaura:infused_slab", - "naturesaura:aura_detector", - "naturesaura:infused_stairs", - "naturesaura:infused_iron_block", "naturesaura:item_distributor", - "naturesaura:placer", - "naturesaura:infused_stone", - "naturesaura:gold_brick", - "naturesaura:generator_limit_remover", - "naturesaura:crushing_catalyst", - "naturesaura:chunk_loader", - "naturesaura:projectile_generator", - "naturesaura:furnace_heater", "naturesaura:powder_placer", "naturesaura:animal_generator", - "naturesaura:animal_container", - "naturesaura:weather_changer", - "naturesaura:firework_generator", - "naturesaura:aura_timer", - "naturesaura:hopper_upgrade", - "naturesaura:spring", - "naturesaura:blast_furnace_booster", - "naturesaura:infused_brick_stairs", - "naturesaura:chorus_generator", - "naturesaura:time_changer", - "naturesaura:moss_generator", - "naturesaura:conversion_catalyst", - "naturesaura:snow_creator", - "naturesaura:ender_crate", - "naturesaura:gold_nether_brick", "naturesaura:nature_altar", - "naturesaura:tainted_gold_block", - "naturesaura:spawn_lamp", - "naturesaura:nether_grass", - "naturesaura:field_creator", + "naturesaura:infused_slab", + "naturesaura:spring", + "naturesaura:chorus_generator", + "naturesaura:snow_creator", + "naturesaura:hopper_upgrade", + "naturesaura:animal_spawner", + "naturesaura:infused_stone", + "naturesaura:projectile_generator", "naturesaura:grated_chute", + "naturesaura:animal_container", + "naturesaura:placer", "naturesaura:infused_brick", + "naturesaura:blast_furnace_booster", + "naturesaura:rf_converter", + "naturesaura:firework_generator", + "naturesaura:tainted_gold_block", + "naturesaura:moss_generator", + "naturesaura:gold_brick", + "naturesaura:weather_changer", "naturesaura:infused_brick_slab", + "naturesaura:pickup_stopper", + "naturesaura:spawn_lamp", + "naturesaura:aura_detector", + "naturesaura:field_creator", + "naturesaura:conversion_catalyst", + "naturesaura:chunk_loader", + "naturesaura:aura_timer", "naturesaura:potion_generator", - "naturesaura:animal_spawner" + "naturesaura:time_changer", + "naturesaura:infused_iron_block", + "naturesaura:gold_nether_brick", + "naturesaura:ender_crate", + "naturesaura:infused_brick_stairs", + "naturesaura:crushing_catalyst", + "naturesaura:nether_grass", + "naturesaura:generator_limit_remover", + "naturesaura:infused_stairs", + "naturesaura:furnace_heater" ] } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/BlockCatalyst.java b/src/main/java/de/ellpeck/naturesaura/blocks/BlockCatalyst.java deleted file mode 100644 index ae23bf92..00000000 --- a/src/main/java/de/ellpeck/naturesaura/blocks/BlockCatalyst.java +++ /dev/null @@ -1,39 +0,0 @@ -package de.ellpeck.naturesaura.blocks; - -import de.ellpeck.naturesaura.api.NaturesAuraAPI; -import de.ellpeck.naturesaura.api.aura.type.IAuraType; -import de.ellpeck.naturesaura.data.BlockStateGenerator; -import de.ellpeck.naturesaura.reg.ICustomBlockState; -import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.BooleanProperty; - -public class BlockCatalyst extends BlockImpl implements ICustomBlockState { - - public static final BooleanProperty NETHER = BlockNatureAltar.NETHER; - - public BlockCatalyst(String baseName, Properties properties) { - super(baseName, properties); - this.registerDefaultState(this.defaultBlockState().setValue(BlockCatalyst.NETHER, false)); - } - - @Override - public BlockState getStateForPlacement(BlockPlaceContext context) { - var nether = IAuraType.forLevel(context.getLevel()).isSimilar(NaturesAuraAPI.TYPE_NETHER); - return super.getStateForPlacement(context).setValue(BlockCatalyst.NETHER, nether); - } - - @Override - protected void createBlockStateDefinition(StateDefinition.Builder builder) { - super.createBlockStateDefinition(builder); - builder.add(BlockCatalyst.NETHER); - } - - @Override - public void generateCustomBlockState(BlockStateGenerator generator) { - generator.models().cubeAll(this.getBaseName(), generator.modLoc("block/" + this.getBaseName())); - generator.models().cubeAll(this.getBaseName() + "_nether", generator.modLoc("block/" + this.getBaseName() + "_nether")); - } -} diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/BlockNatureAltar.java b/src/main/java/de/ellpeck/naturesaura/blocks/BlockNatureAltar.java index 9582fc88..8d322b23 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/BlockNatureAltar.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/BlockNatureAltar.java @@ -1,8 +1,6 @@ package de.ellpeck.naturesaura.blocks; import de.ellpeck.naturesaura.Helper; -import de.ellpeck.naturesaura.api.NaturesAuraAPI; -import de.ellpeck.naturesaura.api.aura.type.IAuraType; import de.ellpeck.naturesaura.blocks.tiles.BlockEntityNatureAltar; import de.ellpeck.naturesaura.blocks.tiles.ModBlockEntities; import de.ellpeck.naturesaura.blocks.tiles.render.RenderNatureAltar; @@ -14,29 +12,22 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.StateDefinition; -import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import javax.annotation.Nullable; - public class BlockNatureAltar extends BlockContainerImpl implements ITESRProvider, ICustomBlockState { private static final VoxelShape SHAPE = Shapes.create(0, 0, 0, 1, 12 / 16F, 1); - public static final BooleanProperty NETHER = BooleanProperty.create("nether"); public BlockNatureAltar() { super("nature_altar", BlockEntityNatureAltar.class, Block.Properties.of(Material.STONE).strength(4F)); - this.registerDefaultState(this.defaultBlockState().setValue(BlockNatureAltar.NETHER, false)); } @Override @@ -50,27 +41,13 @@ public class BlockNatureAltar extends BlockContainerImpl implements ITESRProvide } @Override - public InteractionResult use(BlockState state, Level levelIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { return Helper.putStackOnTile(player, handIn, pos, 0, true); } @Override public void generateCustomBlockState(BlockStateGenerator generator) { - // noop - } - - @Override - protected void createBlockStateDefinition(StateDefinition.Builder builder) { - super.createBlockStateDefinition(builder); - builder.add(BlockNatureAltar.NETHER); - } - - @Nullable - @Override - public BlockState getStateForPlacement(BlockPlaceContext context) { - var nether = IAuraType.forLevel(context.getLevel()).isSimilar(NaturesAuraAPI.TYPE_NETHER); - return super.getStateForPlacement(context).setValue(BlockNatureAltar.NETHER, nether); + generator.simpleBlock(this, generator.models().getExistingFile(generator.modLoc(this.getBaseName()))); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java index b92ea0ad..a207864c 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblocks.java @@ -4,7 +4,6 @@ import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.api.NaturesAuraAPI; import de.ellpeck.naturesaura.api.multiblock.IMultiblock; import de.ellpeck.naturesaura.api.multiblock.Matcher; -import de.ellpeck.naturesaura.blocks.BlockNatureAltar; import de.ellpeck.naturesaura.blocks.ModBlocks; import de.ellpeck.naturesaura.data.BlockTagProvider; import de.ellpeck.naturesaura.recipes.ModRecipes; @@ -30,15 +29,6 @@ public final class Multiblocks { 'M', ModBlocks.GOLD_BRICK, '0', ModBlocks.NATURE_ALTAR, ' ', Matcher.wildcard()); - public static final IMultiblock NETHER_ALTAR = NaturesAuraAPI.instance().createMultiblock( - new ResourceLocation(NaturesAura.MOD_ID, "nether_altar"), - Multiblocks.ALTAR_PATTERN, - 'C', Blocks.RED_NETHER_BRICKS, - 'B', Matcher.tag(Blocks.NETHER_BRICKS, BlockTagProvider.NETHER_ALTAR_STONE), - 'W', Matcher.tag(Blocks.CRIMSON_PLANKS, BlockTagProvider.NETHER_ALTAR_WOOD), - 'M', ModBlocks.GOLD_NETHER_BRICK, - '0', ModBlocks.NATURE_ALTAR.defaultBlockState().setValue(BlockNatureAltar.NETHER, true), - ' ', Matcher.wildcard()); public static final IMultiblock TREE_RITUAL = NaturesAuraAPI.instance().createMultiblock( new ResourceLocation(NaturesAura.MOD_ID, "tree_ritual"), new String[][]{ diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/tiles/BlockEntityNatureAltar.java b/src/main/java/de/ellpeck/naturesaura/blocks/tiles/BlockEntityNatureAltar.java index bfc7682b..d8406bcc 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/tiles/BlockEntityNatureAltar.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/tiles/BlockEntityNatureAltar.java @@ -57,11 +57,10 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable }; @OnlyIn(Dist.CLIENT) public int bobTimer; - public StructureState structureState = StructureState.INVALID; + public boolean isComplete; private AltarRecipe currentRecipe; private int timer; - private int lastAura; private boolean firstTick = true; @@ -87,18 +86,18 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable if (!this.level.isClientSide) { if (this.level.getGameTime() % 40 == 0 || this.firstTick) { - var newState = this.getNewState(); - if (newState != this.structureState) { - this.structureState = newState; + var complete = Multiblocks.ALTAR.isComplete(this.level, this.worldPosition); + if (complete != this.isComplete) { + this.isComplete = complete; this.sendToClients(); } this.firstTick = false; } - if (this.structureState != StructureState.INVALID) { + if (this.isComplete) { + var type = IAuraType.forLevel(this.level); var space = this.container.storeAura(300, true); - IAuraType expectedType = this.structureState == StructureState.NETHER ? NaturesAuraAPI.TYPE_NETHER : NaturesAuraAPI.TYPE_OVERWORLD; - if (space > 0 && IAuraType.forLevel(this.level).isSimilar(expectedType)) { + if (space > 0 && (type.isSimilar(NaturesAuraAPI.TYPE_OVERWORLD) || type.isSimilar(NaturesAuraAPI.TYPE_NETHER))) { var toStore = Math.min(IAuraChunk.getAuraInArea(this.level, this.worldPosition, 20), space); if (toStore > 0) { var spot = IAuraChunk.getHighestSpot(this.level, this.worldPosition, 20, this.worldPosition); @@ -167,7 +166,7 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable this.sendToClients(); } } else { - if (this.structureState != StructureState.INVALID) { + if (this.isComplete) { if (rand.nextFloat() >= 0.7F) { var fourths = this.container.getMaxAura() / 4; if (this.container.getStoredAura() > 0) { @@ -199,33 +198,25 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable } private AltarRecipe getRecipeForInput(ItemStack input) { - var type = IAuraType.forLevel(this.level); for (var recipe : this.level.getRecipeManager().getRecipesFor(ModRecipes.ALTAR_TYPE, null, null)) { - if (recipe.input.test(input) && (recipe.requiredType == null || type.isSimilar(recipe.requiredType))) { + if (recipe.input.test(input)) { if (recipe.catalyst == Ingredient.EMPTY) return recipe; - for (var stack : this.catalysts) + for (var stack : this.catalysts) { if (recipe.catalyst.test(stack)) return recipe; + } } } return null; } - private StructureState getNewState() { - if (Multiblocks.ALTAR.isComplete(this.level, this.worldPosition)) - return StructureState.OVERWORLD; - if (Multiblocks.NETHER_ALTAR.isComplete(this.level, this.worldPosition)) - return StructureState.NETHER; - return StructureState.INVALID; - } - @Override public void writeNBT(CompoundTag compound, SaveType type) { super.writeNBT(compound, type); if (type != SaveType.BLOCK) { compound.put("items", this.items.serializeNBT()); - compound.putString("state", this.structureState.name()); + compound.putBoolean("complete", this.isComplete); this.container.writeNBT(compound); } if (type == SaveType.TILE) { @@ -241,8 +232,7 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable super.readNBT(compound, type); if (type != SaveType.BLOCK) { this.items.deserializeNBT(compound.getCompound("items")); - if (compound.contains("state")) - this.structureState = StructureState.valueOf(compound.getString("state")); + this.isComplete = compound.getBoolean("complete"); this.container.readNBT(compound); } if (type == SaveType.TILE) { @@ -263,10 +253,4 @@ public class BlockEntityNatureAltar extends BlockEntityImpl implements ITickable public IItemHandlerModifiable getItemHandler() { return this.items; } - - public enum StructureState { - INVALID, - NETHER, - OVERWORLD - } } diff --git a/src/main/java/de/ellpeck/naturesaura/compat/jei/AltarCategory.java b/src/main/java/de/ellpeck/naturesaura/compat/jei/AltarCategory.java index 6cf7b11a..8613d937 100644 --- a/src/main/java/de/ellpeck/naturesaura/compat/jei/AltarCategory.java +++ b/src/main/java/de/ellpeck/naturesaura/compat/jei/AltarCategory.java @@ -51,7 +51,6 @@ public class AltarCategory implements IRecipeCategory { public void setRecipe(IRecipeLayoutBuilder builder, AltarRecipe recipe, IFocusGroup focuses) { builder.addSlot(RecipeIngredientRole.INPUT, 1, 19).addItemStacks(Arrays.asList(recipe.input.getItems())); builder.addSlot(RecipeIngredientRole.OUTPUT, 81, 19).addItemStack(recipe.output); - builder.addSlot(RecipeIngredientRole.CATALYST, 27, 19).addItemStacks(recipe.catalyst == Ingredient.EMPTY ? Collections.singletonList(this.altar) : Arrays.asList(recipe.catalyst.getItems())); - builder.addSlot(RecipeIngredientRole.CATALYST, 52, 19).addItemStack(recipe.requiredType != null ? recipe.getDimensionBottle() : ItemStack.EMPTY); + builder.addSlot(RecipeIngredientRole.CATALYST, 38, 19).addItemStacks(recipe.catalyst == Ingredient.EMPTY ? Collections.singletonList(this.altar) : Arrays.asList(recipe.catalyst.getItems())); } } diff --git a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorAltar.java b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorAltar.java index 170a3415..d196e89f 100644 --- a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorAltar.java +++ b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/ProcessorAltar.java @@ -23,7 +23,6 @@ public class ProcessorAltar implements IComponentProcessor { case "input" -> PatchouliCompat.ingredientVariable(this.recipe.input); case "output" -> IVariable.from(this.recipe.output); case "catalyst" -> this.recipe.catalyst != Ingredient.EMPTY ? PatchouliCompat.ingredientVariable(this.recipe.catalyst) : null; - case "type" -> this.recipe.requiredType != null ? IVariable.from(this.recipe.getDimensionBottle()) : null; case "name" -> IVariable.wrap(this.recipe.output.getHoverName().getString()); default -> null; }; diff --git a/src/main/java/de/ellpeck/naturesaura/recipes/AltarRecipe.java b/src/main/java/de/ellpeck/naturesaura/recipes/AltarRecipe.java index c967debe..e15cf98d 100644 --- a/src/main/java/de/ellpeck/naturesaura/recipes/AltarRecipe.java +++ b/src/main/java/de/ellpeck/naturesaura/recipes/AltarRecipe.java @@ -1,13 +1,7 @@ package de.ellpeck.naturesaura.recipes; import com.google.gson.JsonObject; -import de.ellpeck.naturesaura.NaturesAura; -import de.ellpeck.naturesaura.api.NaturesAuraAPI; -import de.ellpeck.naturesaura.api.aura.type.IAuraType; -import de.ellpeck.naturesaura.items.ItemAuraBottle; -import de.ellpeck.naturesaura.items.ModItems; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -21,16 +15,14 @@ public class AltarRecipe extends ModRecipe { public final Ingredient input; public final ItemStack output; - public final IAuraType requiredType; public final Ingredient catalyst; public final int aura; public final int time; - public AltarRecipe(ResourceLocation name, Ingredient input, ItemStack output, IAuraType requiredType, Ingredient catalyst, int aura, int time) { + public AltarRecipe(ResourceLocation name, Ingredient input, ItemStack output, Ingredient catalyst, int aura, int time) { super(name); this.input = input; this.output = output; - this.requiredType = requiredType; this.catalyst = catalyst; this.aura = aura; this.time = time; @@ -51,12 +43,6 @@ public class AltarRecipe extends ModRecipe { return ModRecipes.ALTAR_TYPE; } - public ItemStack getDimensionBottle() { - var bottle = ItemAuraBottle.setType(new ItemStack(ModItems.AURA_BOTTLE), this.requiredType); - bottle.setHoverName(Component.translatable("info." + NaturesAura.MOD_ID + ".required_aura_type." + this.requiredType.getName())); - return bottle; - } - public static class Serializer implements RecipeSerializer { @Override @@ -65,7 +51,6 @@ public class AltarRecipe extends ModRecipe { recipeId, Ingredient.fromJson(json.getAsJsonObject("input")), CraftingHelper.getItemStack(json.getAsJsonObject("output"), true), - NaturesAuraAPI.AURA_TYPES.get(new ResourceLocation(json.get("aura_type").getAsString())), json.has("catalyst") ? Ingredient.fromJson(json.getAsJsonObject("catalyst")) : Ingredient.EMPTY, json.get("aura").getAsInt(), json.get("time").getAsInt()); @@ -78,7 +63,6 @@ public class AltarRecipe extends ModRecipe { recipeId, Ingredient.fromNetwork(buffer), buffer.readItem(), - NaturesAuraAPI.AURA_TYPES.get(buffer.readResourceLocation()), Ingredient.fromNetwork(buffer), buffer.readInt(), buffer.readInt()); @@ -88,7 +72,6 @@ public class AltarRecipe extends ModRecipe { public void toNetwork(FriendlyByteBuf buffer, AltarRecipe recipe) { recipe.input.toNetwork(buffer); buffer.writeItem(recipe.output); - buffer.writeResourceLocation(recipe.requiredType.getName()); recipe.catalyst.toNetwork(buffer); buffer.writeInt(recipe.aura); buffer.writeInt(recipe.time); diff --git a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java index 9fcea6fc..7eafb2d5 100644 --- a/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java +++ b/src/main/java/de/ellpeck/naturesaura/reg/ModRegistry.java @@ -82,8 +82,8 @@ public final class ModRegistry { new BlockFurnaceHeater(), new BlockPotionGenerator(), new BlockAuraDetector(), - new BlockCatalyst("conversion_catalyst", Block.Properties.of(Material.STONE).sound(SoundType.STONE).strength(2.5F)), - new BlockCatalyst("crushing_catalyst", Block.Properties.of(Material.STONE).sound(SoundType.STONE).strength(2.5F)), + new BlockImpl("conversion_catalyst", Block.Properties.of(Material.STONE).sound(SoundType.STONE).strength(2.5F)), + new BlockImpl("crushing_catalyst", Block.Properties.of(Material.STONE).sound(SoundType.STONE).strength(2.5F)), new BlockFlowerGenerator(), new BlockPlacer(), new BlockHopperUpgrade(), diff --git a/src/main/resources/assets/naturesaura/blockstates/conversion_catalyst.json b/src/main/resources/assets/naturesaura/blockstates/conversion_catalyst.json deleted file mode 100644 index 8356d277..00000000 --- a/src/main/resources/assets/naturesaura/blockstates/conversion_catalyst.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "nether=false": { - "model": "naturesaura:block/conversion_catalyst" - }, - "nether=true": { - "model": "naturesaura:block/conversion_catalyst_nether" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/blockstates/crushing_catalyst.json b/src/main/resources/assets/naturesaura/blockstates/crushing_catalyst.json deleted file mode 100644 index fcf01ebf..00000000 --- a/src/main/resources/assets/naturesaura/blockstates/crushing_catalyst.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "nether=false": { - "model": "naturesaura:block/crushing_catalyst" - }, - "nether=true": { - "model": "naturesaura:block/crushing_catalyst_nether" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/blockstates/nature_altar.json b/src/main/resources/assets/naturesaura/blockstates/nature_altar.json deleted file mode 100644 index 1bd6fdb0..00000000 --- a/src/main/resources/assets/naturesaura/blockstates/nature_altar.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "nether=false": { - "model": "naturesaura:block/nature_altar" - }, - "nether=true": { - "model": "naturesaura:block/nature_altar_nether" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json deleted file mode 100644 index b75ace79..00000000 --- a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/entries/using/crimson_altar.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "The Crimson Altar", - "icon": "naturesaura:nature_altar", - "category": "naturesaura:using", - "advancement": "naturesaura:aura_bottle_nether", - "priority": true, - "turnin": "naturesaura:tainted_gold", - "pages": [ - { - "type": "text", - "text": "The $(l:using/altar)Natural Altar$(), while having the ability to turn iron into $(item)Infused Iron$(), does not fare well in different regions, specifically the $(thing)Nether$(), where a much darker type of $(aura) is present. Here, the $(item)Crimson Altar$() can be built. A structure very similar to the $(thing)Natural Altar$(), which is able to, instead, turn $(item)Gold$() into $(item)Tainted Gold$(). For this, the structure on the following page needs to be assembled." - }, - { - "type": "text", - "text": "It should be noted that, while looking different, the $(item)Crimson Altar$() itself is in fact not a different block - it is merely the $(item)Natural Altar$()'s appearance in an area where ghostly $(aura) is present, caused by its inherent magical infusion with $(aura). Similar can be said for any $(item)Catalysts$(): Merely placing them on top of the crimson altar will cause their ghostly recipes to work as well." - }, - { - "type": "multiblock", - "multiblock_id": "naturesaura:nether_altar", - "text": "How to assemble the $(item)Crimson Altar$(). The $(item)Crimson Planks$() can be replaced with $(item)Warped Planks$()." - }, - { - "type": "crafting", - "recipe": "naturesaura:gold_nether_brick", - "text": "Creating the $(item)Golden Nether Bricks$() that are used in the $(item)Crimson Altar$()'s multiblock" - }, - { - "type": "naturesaura:altar", - "text": "Creating $(item)Tainted Gold$(), a material blessed with the powers of ghostly $(aura).$(br)Note that the same infusion is possible using the materials' block form.", - "recipe": "naturesaura:tainted_gold" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/altar.json b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/altar.json index d456d2bc..145f3749 100644 --- a/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/altar.json +++ b/src/main/resources/assets/naturesaura/patchouli_books/book/en_us/templates/altar.json @@ -18,20 +18,14 @@ "group": "catalyst", "type": "patchouli:item", "item": "#catalyst", - "x": 36, - "y": 26 - }, - { - "type": "patchouli:item", - "item": "#type", - "x": 58, + "x": 48, "y": 26 }, { "group": "altar", "type": "patchouli:item", "item": "naturesaura:nature_altar", - "x": 36, + "x": 48, "y": 26 }, { diff --git a/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether.png b/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether.png deleted file mode 100644 index 4fbe244a..00000000 Binary files a/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether.png and /dev/null differ diff --git a/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether_top.png b/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether_top.png deleted file mode 100644 index d8889a68..00000000 Binary files a/src/main/resources/assets/naturesaura/textures/block/nature_altar_nether_top.png and /dev/null differ diff --git a/src/main/resources/data/naturesaura/recipes/altar/arrow.json b/src/main/resources/data/naturesaura/recipes/altar/arrow.json index 965c1f0f..29c5ccd9 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/arrow.json +++ b/src/main/resources/data/naturesaura/recipes/altar/arrow.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:spectral_arrow" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/blaze.json b/src/main/resources/data/naturesaura/recipes/altar/blaze.json index 12b76491..82629051 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/blaze.json +++ b/src/main/resources/data/naturesaura/recipes/altar/blaze.json @@ -7,7 +7,6 @@ "item": "minecraft:blaze_powder", "count": 4 }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/bone.json b/src/main/resources/data/naturesaura/recipes/altar/bone.json index 68c367fc..17c64bdc 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/bone.json +++ b/src/main/resources/data/naturesaura/recipes/altar/bone.json @@ -7,7 +7,6 @@ "item": "minecraft:bone_meal", "count": 6 }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/breath.json b/src/main/resources/data/naturesaura/recipes/altar/breath.json index 139e578e..a6e09035 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/breath.json +++ b/src/main/resources/data/naturesaura/recipes/altar/breath.json @@ -9,7 +9,6 @@ "output": { "item": "minecraft:dragon_breath" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/chorus.json b/src/main/resources/data/naturesaura/recipes/altar/chorus.json index ca27948b..16da6b9a 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/chorus.json +++ b/src/main/resources/data/naturesaura/recipes/altar/chorus.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:chorus_flower" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/coal.json b/src/main/resources/data/naturesaura/recipes/altar/coal.json index de683bd5..b1f18277 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/coal.json +++ b/src/main/resources/data/naturesaura/recipes/altar/coal.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:coal" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/crimson_fungus.json b/src/main/resources/data/naturesaura/recipes/altar/crimson_fungus.json index 48fcbc1b..b89e53e4 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/crimson_fungus.json +++ b/src/main/resources/data/naturesaura/recipes/altar/crimson_fungus.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:crimson_fungus" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/egg.json b/src/main/resources/data/naturesaura/recipes/altar/egg.json index bb641f44..4cac8a11 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/egg.json +++ b/src/main/resources/data/naturesaura/recipes/altar/egg.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:egg" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/fermented.json b/src/main/resources/data/naturesaura/recipes/altar/fermented.json index 54ff04de..81a8147f 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/fermented.json +++ b/src/main/resources/data/naturesaura/recipes/altar/fermented.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:fermented_spider_eye" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/gilded_blackstone.json b/src/main/resources/data/naturesaura/recipes/altar/gilded_blackstone.json index a2365219..ec589240 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/gilded_blackstone.json +++ b/src/main/resources/data/naturesaura/recipes/altar/gilded_blackstone.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:gilded_blackstone" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/glowstone.json b/src/main/resources/data/naturesaura/recipes/altar/glowstone.json index 820be8f0..9131c697 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/glowstone.json +++ b/src/main/resources/data/naturesaura/recipes/altar/glowstone.json @@ -7,7 +7,6 @@ "item": "minecraft:glowstone_dust", "count": 4 }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/gold_powder.json b/src/main/resources/data/naturesaura/recipes/altar/gold_powder.json index ce7ec73d..6307fe17 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/gold_powder.json +++ b/src/main/resources/data/naturesaura/recipes/altar/gold_powder.json @@ -7,7 +7,6 @@ "item": "naturesaura:gold_powder", "count": 4 }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/infused_iron.json b/src/main/resources/data/naturesaura/recipes/altar/infused_iron.json index f7d97f36..bce8e251 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/infused_iron.json +++ b/src/main/resources/data/naturesaura/recipes/altar/infused_iron.json @@ -6,7 +6,6 @@ "output": { "item": "naturesaura:infused_iron" }, - "aura_type": "naturesaura:overworld", "aura": 15000, "time": 80 } \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/altar/infused_iron_block.json b/src/main/resources/data/naturesaura/recipes/altar/infused_iron_block.json index dcb9512f..ef04bfd7 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/infused_iron_block.json +++ b/src/main/resources/data/naturesaura/recipes/altar/infused_iron_block.json @@ -6,7 +6,6 @@ "output": { "item": "naturesaura:infused_iron_block" }, - "aura_type": "naturesaura:overworld", "aura": 135000, "time": 700 } \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/altar/infused_stone.json b/src/main/resources/data/naturesaura/recipes/altar/infused_stone.json index 0200c735..c0d08ce2 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/infused_stone.json +++ b/src/main/resources/data/naturesaura/recipes/altar/infused_stone.json @@ -6,7 +6,6 @@ "output": { "item": "naturesaura:infused_stone" }, - "aura_type": "naturesaura:overworld", "aura": 7500, "time": 40 } \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/altar/lead.json b/src/main/resources/data/naturesaura/recipes/altar/lead.json index e904024e..2744e987 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/lead.json +++ b/src/main/resources/data/naturesaura/recipes/altar/lead.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:lead" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/leather.json b/src/main/resources/data/naturesaura/recipes/altar/leather.json index 15f6388c..4bad7426 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/leather.json +++ b/src/main/resources/data/naturesaura/recipes/altar/leather.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:leather" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/milk.json b/src/main/resources/data/naturesaura/recipes/altar/milk.json index 6e68f8b8..4cc53ecd 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/milk.json +++ b/src/main/resources/data/naturesaura/recipes/altar/milk.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:milk_bucket" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/nether_wart.json b/src/main/resources/data/naturesaura/recipes/altar/nether_wart.json index a8a0bc14..e45509ba 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/nether_wart.json +++ b/src/main/resources/data/naturesaura/recipes/altar/nether_wart.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:nether_wart" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/potato.json b/src/main/resources/data/naturesaura/recipes/altar/potato.json index f18fd60f..5dfde1dd 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/potato.json +++ b/src/main/resources/data/naturesaura/recipes/altar/potato.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:potato" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/prismarine.json b/src/main/resources/data/naturesaura/recipes/altar/prismarine.json index 0611c6aa..03de0a58 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/prismarine.json +++ b/src/main/resources/data/naturesaura/recipes/altar/prismarine.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:prismarine_shard" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/prismarine_crystal.json b/src/main/resources/data/naturesaura/recipes/altar/prismarine_crystal.json index 071e21b1..e666d54b 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/prismarine_crystal.json +++ b/src/main/resources/data/naturesaura/recipes/altar/prismarine_crystal.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:prismarine_crystals" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/rabbit_foot.json b/src/main/resources/data/naturesaura/recipes/altar/rabbit_foot.json index 508ca2b7..ef80fc55 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/rabbit_foot.json +++ b/src/main/resources/data/naturesaura/recipes/altar/rabbit_foot.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:rabbit_foot" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/sand.json b/src/main/resources/data/naturesaura/recipes/altar/sand.json index 7e96c841..40094f64 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/sand.json +++ b/src/main/resources/data/naturesaura/recipes/altar/sand.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:sand" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/soul_sand.json b/src/main/resources/data/naturesaura/recipes/altar/soul_sand.json index d82d48f4..a524e787 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/soul_sand.json +++ b/src/main/resources/data/naturesaura/recipes/altar/soul_sand.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:soul_sand" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/sugar.json b/src/main/resources/data/naturesaura/recipes/altar/sugar.json index 85bd5f73..861a119b 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/sugar.json +++ b/src/main/resources/data/naturesaura/recipes/altar/sugar.json @@ -7,7 +7,6 @@ "item": "minecraft:sugar", "count": 3 }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:crushing_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/tainted_gold.json b/src/main/resources/data/naturesaura/recipes/altar/tainted_gold.json index d30f744d..71468b28 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/tainted_gold.json +++ b/src/main/resources/data/naturesaura/recipes/altar/tainted_gold.json @@ -6,7 +6,6 @@ "output": { "item": "naturesaura:tainted_gold" }, - "aura_type": "naturesaura:nether", "aura": 15000, "time": 80 } \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/altar/tainted_gold_block.json b/src/main/resources/data/naturesaura/recipes/altar/tainted_gold_block.json index 59de13a3..9d88b6cc 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/tainted_gold_block.json +++ b/src/main/resources/data/naturesaura/recipes/altar/tainted_gold_block.json @@ -6,7 +6,6 @@ "output": { "item": "naturesaura:tainted_gold_block" }, - "aura_type": "naturesaura:nether", "aura": 135000, "time": 700 } \ No newline at end of file diff --git a/src/main/resources/data/naturesaura/recipes/altar/warped_fungus.json b/src/main/resources/data/naturesaura/recipes/altar/warped_fungus.json index cf771337..a0f1122b 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/warped_fungus.json +++ b/src/main/resources/data/naturesaura/recipes/altar/warped_fungus.json @@ -6,7 +6,6 @@ "output": { "item": "minecraft:warped_fungus" }, - "aura_type": "naturesaura:nether", "catalyst": { "item": "naturesaura:conversion_catalyst" }, diff --git a/src/main/resources/data/naturesaura/recipes/altar/water.json b/src/main/resources/data/naturesaura/recipes/altar/water.json index fb5f8944..769b5286 100644 --- a/src/main/resources/data/naturesaura/recipes/altar/water.json +++ b/src/main/resources/data/naturesaura/recipes/altar/water.json @@ -9,7 +9,6 @@ }, "item": "minecraft:potion" }, - "aura_type": "naturesaura:overworld", "catalyst": { "item": "naturesaura:conversion_catalyst" },