mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-12-22 14:59:22 +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.state.DirectionProperty;
|
||||
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 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() {
|
||||
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
|
||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
|
||||
builder.add(FACING);
|
||||
|
|
|
@ -8,8 +8,14 @@ import net.minecraft.item.crafting.IRecipe;
|
|||
import net.minecraft.tileentity.BlastFurnaceTileEntity;
|
||||
import net.minecraft.tileentity.ITickableTileEntity;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.IIntArray;
|
||||
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 {
|
||||
|
||||
|
@ -58,4 +64,58 @@ public class TileEntityBlastFurnaceBooster extends TileEntityImpl implements ITi
|
|||
PacketHandler.sendToAllAround(this.world, this.pos, 32,
|
||||
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_nether": "Rail of the Nether",
|
||||
"block.naturesaura.projectile_generator": "Shooting Mark",
|
||||
"block.naturesaura.blast_furnace_booster": "Armorer's Aid",
|
||||
"item.naturesaura.eye": "Environmental Eye",
|
||||
"item.naturesaura.eye_improved": "Environmental Ocular",
|
||||
"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