NaturesAura/src/main/java/de/ellpeck/naturesaura/blocks/BlockItemDistributor.java

45 lines
1.9 KiB
Java
Raw Normal View History

2020-02-21 18:15:37 +01:00
package de.ellpeck.naturesaura.blocks;
2021-12-04 15:40:09 +01:00
import de.ellpeck.naturesaura.blocks.tiles.BlockEntityItemDistributor;
2020-02-22 10:56:29 +01:00
import de.ellpeck.naturesaura.data.BlockStateGenerator;
import de.ellpeck.naturesaura.reg.ICustomBlockState;
2021-12-15 16:24:53 +01:00
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.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
2020-02-21 18:15:37 +01:00
2020-02-22 10:56:29 +01:00
public class BlockItemDistributor extends BlockContainerImpl implements ICustomBlockState {
2020-02-21 18:15:37 +01:00
public BlockItemDistributor() {
2024-03-10 15:54:58 +01:00
super("item_distributor", BlockEntityItemDistributor.class, Properties.ofFullCopy(Blocks.STONE_BRICKS));
2020-02-21 18:15:37 +01:00
}
@Override
2023-02-15 23:45:50 +01:00
@SuppressWarnings("deprecation")
2021-12-15 16:24:53 +01:00
public InteractionResult use(BlockState state, Level levelIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!player.isShiftKeyDown())
2021-12-04 15:40:09 +01:00
return InteractionResult.FAIL;
2021-12-15 16:30:22 +01:00
var tile = levelIn.getBlockEntity(pos);
2021-12-04 15:40:09 +01:00
if (!(tile instanceof BlockEntityItemDistributor))
return InteractionResult.FAIL;
if (!levelIn.isClientSide) {
2021-12-15 16:30:22 +01:00
var distributor = (BlockEntityItemDistributor) tile;
2020-02-21 18:15:37 +01:00
distributor.isRandomMode = !distributor.isRandomMode;
distributor.sendToClients();
}
2021-12-04 15:40:09 +01:00
return InteractionResult.SUCCESS;
2020-02-21 18:15:37 +01:00
}
2020-02-22 10:56:29 +01:00
@Override
public void generateCustomBlockState(BlockStateGenerator generator) {
generator.simpleBlock(this, generator.models().cubeBottomTop(this.getBaseName(),
generator.modLoc("block/" + this.getBaseName()),
generator.modLoc("block/" + this.getBaseName() + "_bottom"),
generator.modLoc("block/" + this.getBaseName() + "_top")));
}
2020-02-21 18:15:37 +01:00
}