mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-11-22 19:58:34 +01:00
finished the Armorer's Aid
This commit is contained in:
parent
73a925794f
commit
13e793d703
5 changed files with 121 additions and 0 deletions
|
@ -8,14 +8,25 @@ import net.minecraft.block.HorizontalBlock;
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
import net.minecraft.state.DirectionProperty;
|
import net.minecraft.state.DirectionProperty;
|
||||||
import net.minecraft.state.StateContainer;
|
import net.minecraft.state.StateContainer;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||||
|
import net.minecraft.util.math.shapes.VoxelShape;
|
||||||
|
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||||
|
import net.minecraft.world.IBlockReader;
|
||||||
|
|
||||||
public class BlockBlastFurnaceBooster extends BlockContainerImpl {
|
public class BlockBlastFurnaceBooster extends BlockContainerImpl {
|
||||||
public static final DirectionProperty FACING = HorizontalBlock.HORIZONTAL_FACING;
|
public static final DirectionProperty FACING = HorizontalBlock.HORIZONTAL_FACING;
|
||||||
|
private static final VoxelShape SHAPE = VoxelShapes.create(1 / 16F, 0, 1 / 16F, 15 / 16F, 1, 15 / 16F);
|
||||||
|
|
||||||
public BlockBlastFurnaceBooster() {
|
public BlockBlastFurnaceBooster() {
|
||||||
super("blast_furnace_booster", TileEntityBlastFurnaceBooster::new, Block.Properties.from(Blocks.BLAST_FURNACE));
|
super("blast_furnace_booster", TileEntityBlastFurnaceBooster::new, Block.Properties.from(Blocks.BLAST_FURNACE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
|
||||||
|
return SHAPE;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
|
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
|
||||||
builder.add(FACING);
|
builder.add(FACING);
|
||||||
|
|
|
@ -8,8 +8,14 @@ import net.minecraft.item.crafting.IRecipe;
|
||||||
import net.minecraft.tileentity.BlastFurnaceTileEntity;
|
import net.minecraft.tileentity.BlastFurnaceTileEntity;
|
||||||
import net.minecraft.tileentity.ITickableTileEntity;
|
import net.minecraft.tileentity.ITickableTileEntity;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.IIntArray;
|
import net.minecraft.util.IIntArray;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraftforge.items.CapabilityItemHandler;
|
||||||
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public class TileEntityBlastFurnaceBooster extends TileEntityImpl implements ITickableTileEntity {
|
public class TileEntityBlastFurnaceBooster extends TileEntityImpl implements ITickableTileEntity {
|
||||||
|
|
||||||
|
@ -58,4 +64,58 @@ public class TileEntityBlastFurnaceBooster extends TileEntityImpl implements ITi
|
||||||
PacketHandler.sendToAllAround(this.world, this.pos, 32,
|
PacketHandler.sendToAllAround(this.world, this.pos, 32,
|
||||||
new PacketParticles(this.pos.getX(), this.pos.getY(), this.pos.getZ(), PacketParticles.Type.BLAST_FURNACE_BOOSTER, 1));
|
new PacketParticles(this.pos.getX(), this.pos.getY(), this.pos.getZ(), PacketParticles.Type.BLAST_FURNACE_BOOSTER, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IItemHandlerModifiable getItemHandler(Direction facing) {
|
||||||
|
TileEntity below = this.world.getTileEntity(this.pos.down());
|
||||||
|
if (!(below instanceof BlastFurnaceTileEntity))
|
||||||
|
return null;
|
||||||
|
IItemHandler handler = below.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP).orElse(null);
|
||||||
|
if (handler == null)
|
||||||
|
return null;
|
||||||
|
return new IItemHandlerModifiable() {
|
||||||
|
@Override
|
||||||
|
public void setStackInSlot(int slot, @Nonnull ItemStack stack) {
|
||||||
|
if (handler instanceof IItemHandlerModifiable)
|
||||||
|
((IItemHandlerModifiable) handler).setStackInSlot(0, stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSlots() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack getStackInSlot(int slot) {
|
||||||
|
return handler.getStackInSlot(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
|
||||||
|
return handler.insertItem(0, stack, simulate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nonnull
|
||||||
|
@Override
|
||||||
|
public ItemStack extractItem(int slot, int amount, boolean simulate) {
|
||||||
|
return handler.extractItem(0, amount, simulate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSlotLimit(int slot) {
|
||||||
|
return handler.getSlotLimit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isItemValid(int slot, @Nonnull ItemStack stack) {
|
||||||
|
return handler.isItemValid(0, stack);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dropInventory() {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
"block.naturesaura.dimension_rail_end": "Rail of the End",
|
"block.naturesaura.dimension_rail_end": "Rail of the End",
|
||||||
"block.naturesaura.dimension_rail_nether": "Rail of the Nether",
|
"block.naturesaura.dimension_rail_nether": "Rail of the Nether",
|
||||||
"block.naturesaura.projectile_generator": "Shooting Mark",
|
"block.naturesaura.projectile_generator": "Shooting Mark",
|
||||||
|
"block.naturesaura.blast_furnace_booster": "Armorer's Aid",
|
||||||
"item.naturesaura.eye": "Environmental Eye",
|
"item.naturesaura.eye": "Environmental Eye",
|
||||||
"item.naturesaura.eye_improved": "Environmental Ocular",
|
"item.naturesaura.eye_improved": "Environmental Ocular",
|
||||||
"item.naturesaura.gold_fiber": "Brilliant Fiber",
|
"item.naturesaura.gold_fiber": "Brilliant Fiber",
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"name": "Armorer's Aid",
|
||||||
|
"icon": "naturesaura:blast_furnace_booster",
|
||||||
|
"category": "using",
|
||||||
|
"advancement": "naturesaura:offering",
|
||||||
|
"pages": [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"text": "Ever since villager scientists have discovered the use of higher tier materials to create a $(item)Blast Furnace$(), magical botanists have attempted to further improve upon this technology. They have found that $(aura) might be capable of purifying any kind of $(thing)ore$() to a point where it has a chance of producing $(thing)two ingots$() rather than one."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"text": "These capabilities can be introduced through an $(item)Armorer's Aid$(), which simply has to be placed on top of a $(item)Blast Furnace$().$(p)It should be noted, for the sake of $(thing)automation$(), that ores can be inserted into any side of the $(item)Armorer's Aid$() using a $(item)Hopper$() or similar device. This will cause the items to end up in the smelting area as if they were fed directly into the top of the $(item)Blast Furnace$()."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "crafting",
|
||||||
|
"text": "Creating the $(item)Armorer's Aid$()",
|
||||||
|
"recipe": "naturesaura:blast_furnace_booster"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"CCC",
|
||||||
|
"THT",
|
||||||
|
"IBI"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"H": {
|
||||||
|
"item": "naturesaura:furnace_heater"
|
||||||
|
},
|
||||||
|
"B": {
|
||||||
|
"item": "minecraft:blast_furnace"
|
||||||
|
},
|
||||||
|
"T": {
|
||||||
|
"item": "naturesaura:token_terror"
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"item": "minecraft:cobblestone"
|
||||||
|
},
|
||||||
|
"I": {
|
||||||
|
"item": "naturesaura:infused_iron"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "naturesaura:blast_furnace_booster"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue