add a bunch of decorative items

This commit is contained in:
Ellpeck 2018-11-03 13:23:10 +01:00
parent 7f13f59ccf
commit ecf2e35a33
24 changed files with 1238 additions and 1 deletions

View file

@ -0,0 +1,168 @@
package de.ellpeck.naturesaura.blocks;
import de.ellpeck.naturesaura.items.ItemSlabNA;
import de.ellpeck.naturesaura.reg.ICustomItemBlockProvider;
import net.minecraft.block.BlockSlab.EnumBlockHalf;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeModContainer;
import org.apache.commons.lang3.mutable.MutableObject;
import java.util.Random;
import java.util.function.Supplier;
public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlockProvider {
protected static final PropertyEnum<EnumBlockHalf> HALF = PropertyEnum.create("half", EnumBlockHalf.class);
protected static final AxisAlignedBB AABB_BOTTOM_HALF = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.5D, 1.0D);
protected static final AxisAlignedBB AABB_TOP_HALF = new AxisAlignedBB(0.0D, 0.5D, 0.0D, 1.0D, 1.0D, 1.0D);
private final Supplier<BlockSlabsNA> singleSlab;
private final Supplier<BlockSlabsNA> doubleSlab;
public BlockSlabsNA(String baseName, Material materialIn, Supplier<BlockSlabsNA> singleSlab, Supplier<BlockSlabsNA> doubleSlab) {
super(baseName, materialIn);
this.singleSlab = singleSlab;
this.doubleSlab = doubleSlab;
}
@Override
public boolean shouldAddCreative() {
return !this.isDouble();
}
@Override
protected boolean canSilkHarvest() {
return false;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
if (this.isDouble())
return FULL_BLOCK_AABB;
else
return state.getValue(HALF) == EnumBlockHalf.TOP ? AABB_TOP_HALF : AABB_BOTTOM_HALF;
}
@Override
public boolean isTopSolid(IBlockState state) {
return this.isDouble() || state.getValue(HALF) == EnumBlockHalf.TOP;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
if (this.isDouble())
return BlockFaceShape.SOLID;
else if (face == EnumFacing.UP && state.getValue(HALF) == EnumBlockHalf.TOP)
return BlockFaceShape.SOLID;
else
return face == EnumFacing.DOWN && state.getValue(HALF) == EnumBlockHalf.BOTTOM ? BlockFaceShape.SOLID : BlockFaceShape.UNDEFINED;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
return this.isDouble();
}
@Override
public boolean isFullCube(IBlockState state) {
return this.isDouble();
}
@Override
public boolean isFullBlock(IBlockState state) {
return this.isDouble();
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
return this.isDouble();
}
@Override
public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face) {
if (ForgeModContainer.disableStairSlabCulling)
return super.doesSideBlockRendering(state, world, pos, face);
if (state.isOpaqueCube())
return true;
EnumBlockHalf side = state.getValue(HALF);
return (side == EnumBlockHalf.TOP && face == EnumFacing.UP) || (side == EnumBlockHalf.BOTTOM && face == EnumFacing.DOWN);
}
@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
if (this.isDouble())
return this.getDefaultState();
else {
IBlockState state = this.getStateFromMeta(meta);
return facing != EnumFacing.DOWN && (facing == EnumFacing.UP || (double) hitY <= 0.5D) ?
state.withProperty(HALF, EnumBlockHalf.BOTTOM) : state.withProperty(HALF, EnumBlockHalf.TOP);
}
}
@Override
public int quantityDropped(Random random) {
return this.isDouble() ? 2 : 1;
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
return Item.getItemFromBlock(this.singleSlab.get());
}
@Override
public ItemBlock getItemBlock() {
return new ItemSlabNA(this, this.singleSlab, this.doubleSlab);
}
@Override
protected BlockStateContainer createBlockState() {
return this.isDouble() ? new BlockStateContainer(this) : new BlockStateContainer(this, HALF);
}
@Override
public int getMetaFromState(IBlockState state) {
return this.isDouble() ? 0 : (state.getValue(HALF) == EnumBlockHalf.TOP ? 1 : 0);
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.isDouble() ? this.getDefaultState() : this.getDefaultState().withProperty(HALF, meta == 1 ? EnumBlockHalf.TOP : EnumBlockHalf.BOTTOM);
}
public abstract boolean isDouble();
public static BlockSlabsNA makeSlab(String baseName, Material material, SoundType soundType, float hardness) {
MutableObject<BlockSlabsNA> singl = new MutableObject<>();
MutableObject<BlockSlabsNA> doubl = new MutableObject<>();
singl.setValue(new BlockSlabsNA(baseName, material, singl::getValue, doubl::getValue) {
@Override
public boolean isDouble() {
return false;
}
});
singl.getValue().setSoundType(soundType).setHardness(hardness);
doubl.setValue(new BlockSlabsNA(baseName + "_double", material, singl::getValue, doubl::getValue) {
@Override
public boolean isDouble() {
return true;
}
});
doubl.getValue().setSoundType(soundType).setHardness(hardness);
return singl.getValue();
}
}

View file

@ -0,0 +1,70 @@
package de.ellpeck.naturesaura.blocks;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockStairs;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class BlockStairsNA extends BlockStairs implements IModItem, IModelProvider {
private final String baseName;
protected BlockStairsNA(String baseName, IBlockState modelState) {
super(modelState);
this.baseName = baseName;
ModRegistry.addItemOrBlock(this);
this.fullBlock = false;
this.lightOpacity = 0;
}
@Override
public String getBaseName() {
return this.baseName;
}
@Override
public boolean shouldAddCreative() {
return true;
}
@Override
public void onPreInit(FMLPreInitializationEvent event) {
}
@Override
public void onInit(FMLInitializationEvent event) {
}
@Override
public void onPostInit(FMLPostInitializationEvent event) {
}
@Override
public boolean isFullCube(IBlockState state) {
return false;
}
@Override
public boolean isFullBlock(IBlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
}

View file

@ -9,6 +9,8 @@ public final class ModBlocks {
public static final Block ANCIENT_LOG = new BlockAncientLog();
public static final Block ANCIENT_BARK = new BlockImpl("ancient_bark", Material.WOOD).setSoundType(SoundType.WOOD).setHardness(2F);
public static final Block ANCIENT_PLANKS = new BlockImpl("ancient_planks", Material.WOOD).setSoundType(SoundType.WOOD).setHardness(2F);
public static final Block ANCIENT_STAIRS = new BlockStairsNA("ancient_stairs", ANCIENT_PLANKS.getDefaultState());
public static final Block ANCIENT_SLAB = BlockSlabsNA.makeSlab("ancient_slab", Material.WOOD, SoundType.WOOD, 1.5F);
public static final Block ANCIENT_LEAVES = new BlockAncientLeaves();
public static final Block ANCIENT_SAPLING = new BlockAncientSapling();
public static final Block NATURE_ALTAR = new BlockNatureAltar();
@ -17,6 +19,11 @@ public final class ModBlocks {
public static final Block GOLD_POWDER = new BlockGoldPowder();
public static final Block WOOD_STAND = new BlockWoodStand();
public static final Block INFUSED_STONE = new BlockImpl("infused_stone", Material.ROCK).setSoundType(SoundType.STONE).setHardness(1.75F);
public static final Block INFUSED_STAIRS = new BlockStairsNA("infused_stairs", INFUSED_STONE.getDefaultState());
public static final Block INFUSED_SLAB = BlockSlabsNA.makeSlab("infused_slab", Material.ROCK, SoundType.STONE, 1.25F);
public static final Block INFUSED_BRICK = new BlockImpl("infused_brick", Material.ROCK).setSoundType(SoundType.STONE).setHardness(1.5F);
public static final Block INFUSED_BRICK_STAIRS = new BlockStairsNA("infused_brick_stairs", INFUSED_BRICK.getDefaultState());
public static final Block INFUSED_BRICK_SLAB = BlockSlabsNA.makeSlab("infused_brick_slab", Material.ROCK, SoundType.STONE, 1.25F);
public static final Block FURNACE_HEATER = new BlockFurnaceHeater();
public static final Block POTION_GENERATOR = new BlockPotionGenerator();
public static final Block AURA_DETECTOR = new BlockAuraDetector();

View file

@ -0,0 +1,79 @@
package de.ellpeck.naturesaura.items;
import de.ellpeck.naturesaura.blocks.BlockSlabsNA;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.block.Block;
import net.minecraft.block.BlockSlab;
import net.minecraft.block.BlockSlab.EnumBlockHalf;
import net.minecraft.block.SoundType;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.function.Supplier;
public class ItemSlabNA extends ItemBlock {
private final Supplier<BlockSlabsNA> singleSlab;
private final Supplier<BlockSlabsNA> doubleSlab;
public ItemSlabNA(Block block, Supplier<BlockSlabsNA> singleSlab, Supplier<BlockSlabsNA> doubleSlab) {
super(block);
this.singleSlab = singleSlab;
this.doubleSlab = doubleSlab;
}
@Override
public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
ItemStack stack = player.getHeldItem(hand);
if (!stack.isEmpty() && player.canPlayerEdit(pos.offset(facing), facing, stack)) {
IBlockState state = worldIn.getBlockState(pos);
if (state.getBlock() == this.singleSlab.get()) {
EnumBlockHalf half = state.getValue(BlockSlab.HALF);
if (facing == EnumFacing.UP && half == EnumBlockHalf.BOTTOM || facing == EnumFacing.DOWN && half == EnumBlockHalf.TOP) {
IBlockState newState = this.doubleSlab.get().getDefaultState();
AxisAlignedBB bound = newState.getCollisionBoundingBox(worldIn, pos);
if (bound != Block.NULL_AABB && worldIn.checkNoEntityCollision(bound.offset(pos)) && worldIn.setBlockState(pos, newState, 11)) {
SoundType sound = this.doubleSlab.get().getSoundType(newState, worldIn, pos, player);
worldIn.playSound(player, pos, sound.getPlaceSound(), SoundCategory.BLOCKS,
(sound.getVolume() + 1.0F) / 2.0F, sound.getPitch() * 0.8F);
stack.shrink(1);
if (player instanceof EntityPlayerMP) {
CriteriaTriggers.PLACED_BLOCK.trigger((EntityPlayerMP) player, pos, stack);
}
}
return EnumActionResult.SUCCESS;
}
}
return super.onItemUse(player, worldIn, pos, hand, facing, hitX, hitY, hitZ);
} else {
return EnumActionResult.FAIL;
}
}
@Override
@SideOnly(Side.CLIENT)
public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, EnumFacing side, EntityPlayer player, ItemStack stack) {
IBlockState state = worldIn.getBlockState(pos);
if (state.getBlock() == this.singleSlab.get())
if (state.getValue(BlockSlab.HALF) == EnumBlockHalf.TOP ? side == EnumFacing.DOWN : side == EnumFacing.UP)
return true;
IBlockState other = worldIn.getBlockState(pos.offset(side));
return other.getBlock() == this.singleSlab.get() || super.canPlaceBlockOnSide(worldIn, pos, side, player, stack);
}
}

View file

@ -0,0 +1,22 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:half_slab",
"textures": {
"bottom": "naturesaura:blocks/ancient_planks",
"top": "naturesaura:blocks/ancient_planks",
"side": "naturesaura:blocks/ancient_planks"
},
"transform": "forge:default-block"
},
"variants": {
"half=top": [
{
"x": 180,
"uvlock": true
}
],
"half=bottom": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"textures": {
"all": "naturesaura:blocks/ancient_planks"
},
"transform": "forge:default-block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,223 @@
{
"forge_marker": 1,
"defaults": {
"textures": {
"bottom": "naturesaura:blocks/ancient_planks",
"top": "naturesaura:blocks/ancient_planks",
"side": "naturesaura:blocks/ancient_planks"
}
},
"variants": {
"normal": {
"model": "minecraft:stairs"
},
"inventory": {
"model": "minecraft:stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "minecraft:stairs"
},
"facing=west,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs"
},
"facing=west,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs"
},
"facing=north,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs"
},
"facing=west,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs"
},
"facing=north,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
}
}
}

View file

@ -0,0 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"textures": {
"all": "naturesaura:blocks/infused_brick"
},
"transform": "forge:default-block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,22 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:half_slab",
"textures": {
"bottom": "naturesaura:blocks/infused_brick",
"top": "naturesaura:blocks/infused_brick",
"side": "naturesaura:blocks/infused_brick"
},
"transform": "forge:default-block"
},
"variants": {
"half=top": [
{
"x": 180,
"uvlock": true
}
],
"half=bottom": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"textures": {
"all": "naturesaura:blocks/infused_brick"
},
"transform": "forge:default-block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,223 @@
{
"forge_marker": 1,
"defaults": {
"textures": {
"bottom": "naturesaura:blocks/infused_brick",
"top": "naturesaura:blocks/infused_brick",
"side": "naturesaura:blocks/infused_brick"
}
},
"variants": {
"normal": {
"model": "minecraft:stairs"
},
"inventory": {
"model": "minecraft:stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "minecraft:stairs"
},
"facing=west,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs"
},
"facing=west,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs"
},
"facing=north,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs"
},
"facing=west,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs"
},
"facing=north,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
}
}
}

View file

@ -0,0 +1,22 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:half_slab",
"textures": {
"bottom": "naturesaura:blocks/infused_stone",
"top": "naturesaura:blocks/infused_stone",
"side": "naturesaura:blocks/infused_stone"
},
"transform": "forge:default-block"
},
"variants": {
"half=top": [
{
"x": 180,
"uvlock": true
}
],
"half=bottom": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,14 @@
{
"forge_marker": 1,
"defaults": {
"model": "minecraft:cube_all",
"textures": {
"all": "naturesaura:blocks/infused_stone"
},
"transform": "forge:default-block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}

View file

@ -0,0 +1,223 @@
{
"forge_marker": 1,
"defaults": {
"textures": {
"bottom": "naturesaura:blocks/infused_stone",
"top": "naturesaura:blocks/infused_stone",
"side": "naturesaura:blocks/infused_stone"
}
},
"variants": {
"normal": {
"model": "minecraft:stairs"
},
"inventory": {
"model": "minecraft:stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "minecraft:stairs"
},
"facing=west,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "minecraft:stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs"
},
"facing=west,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs"
},
"facing=north,half=bottom,shape=outer_left": {
"model": "minecraft:outer_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs"
},
"facing=west,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 270,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 90,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs"
},
"facing=north,half=bottom,shape=inner_left": {
"model": "minecraft:inner_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=straight": {
"model": "minecraft:stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=outer_left": {
"model": "minecraft:outer_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=top,shape=inner_left": {
"model": "minecraft:inner_stairs",
"x": 180,
"y": 270,
"uvlock": true
}
}
}

View file

@ -15,6 +15,16 @@ tile.naturesaura.furnace_heater.name=Extraneous Firestarter
tile.naturesaura.potion_generator.name=Lingering Absorber
tile.naturesaura.aura_detector.name=Aura Detector
tile.naturesaura.conversion_catalyst.name=Transmutation Catalyst
tile.naturesaura.infused_stairs.name=Infused Rock Stairs
tile.naturesaura.infused_slab.name=Infused Rock Slab
tile.naturesaura.infused_slab_double.name=Infused Rock Double Slab
tile.naturesaura.ancient_stairs.name=Ancient Wood Stairs
tile.naturesaura.ancient_slab.name=Ancient Wood Slab
tile.naturesaura.ancient_slab_double.name=Ancient Wood Double Slab
tile.naturesaura.infused_brick.name=Infused Brick
tile.naturesaura.infused_brick_stairs.name=Infused Brick Stairs
tile.naturesaura.infused_brick_slab.name=Infused Brick Slab
tile.naturesaura.infused_brick_slab_double.name=Infused Brick Double Slab
item.naturesaura.eye.name=Environmental Eye
item.naturesaura.gold_fiber.name=Brilliant Fiber

View file

@ -16,7 +16,7 @@
},
{
"type": "naturesaura:altar",
"text": "Creating $(item)Infused Rock$(), a material, similar looking to the fabric of $(italic)balance$() itself, infused with $(aura).",
"text": "Creating $(item)Infused Rock$(), an earthly material infused with $(aura).",
"recipe": "naturesaura:infused_stone"
}
]

View file

@ -0,0 +1,15 @@
{
"type": "forge:ore_shaped",
"pattern": [
"WWW"
],
"key": {
"W": {
"item": "naturesaura:ancient_planks"
}
},
"result": {
"item": "naturesaura:ancient_slab",
"count": 6
}
}

View file

@ -0,0 +1,17 @@
{
"type": "forge:ore_shaped",
"pattern": [
"W ",
"WW ",
"WWW"
],
"key": {
"W": {
"item": "naturesaura:ancient_planks"
}
},
"result": {
"item": "naturesaura:ancient_stairs",
"count": 4
}
}

View file

@ -0,0 +1,16 @@
{
"type": "forge:ore_shaped",
"pattern": [
"WW",
"WW"
],
"key": {
"W": {
"item": "naturesaura:infused_stone"
}
},
"result": {
"item": "naturesaura:infused_brick",
"count": 4
}
}

View file

@ -0,0 +1,15 @@
{
"type": "forge:ore_shaped",
"pattern": [
"WWW"
],
"key": {
"W": {
"item": "naturesaura:infused_brick"
}
},
"result": {
"item": "naturesaura:infused_brick_slab",
"count": 6
}
}

View file

@ -0,0 +1,17 @@
{
"type": "forge:ore_shaped",
"pattern": [
"W ",
"WW ",
"WWW"
],
"key": {
"W": {
"item": "naturesaura:infused_brick"
}
},
"result": {
"item": "naturesaura:infused_brick_stairs",
"count": 4
}
}

View file

@ -0,0 +1,15 @@
{
"type": "forge:ore_shaped",
"pattern": [
"WWW"
],
"key": {
"W": {
"item": "naturesaura:infused_stone"
}
},
"result": {
"item": "naturesaura:infused_slab",
"count": 6
}
}

View file

@ -0,0 +1,17 @@
{
"type": "forge:ore_shaped",
"pattern": [
"W ",
"WW ",
"WWW"
],
"key": {
"W": {
"item": "naturesaura:infused_stone"
}
},
"result": {
"item": "naturesaura:infused_stairs",
"count": 4
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B