Search in sources :

Example 1 with TileEntityMultiBlock

use of com.minecolonies.coremod.tileentities.TileEntityMultiBlock in project minecolonies by Minecolonies.

the class MultiBlockChangeMessage method messageOnServerThread.

/**
 * Executes the message on the server thread.
 * Only if the player has the permission, toggle message.
 *
 * @param message the original message.
 * @param player  the player associated.
 */
@Override
public void messageOnServerThread(final MultiBlockChangeMessage message, final EntityPlayerMP player) {
    final Colony colony = ColonyManager.getColony(player.getServerWorld(), player.getPosition());
    final TileEntity entity = player.getServerWorld().getTileEntity(message.pos);
    if (entity instanceof TileEntityMultiBlock && (colony == null || colony.getPermissions().hasPermission(player, Action.MANAGE_HUTS))) {
        ((TileEntityMultiBlock) entity).setDirection(message.direction);
        ((TileEntityMultiBlock) entity).setOutput(message.output);
        ((TileEntityMultiBlock) entity).setRange(message.range);
        ((TileEntityMultiBlock) entity).setSpeed(message.speed);
        final IBlockState state = player.getServerWorld().getBlockState(message.pos);
        player.getServerWorld().notifyBlockUpdate(message.pos, state, state, 0x3);
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) IBlockState(net.minecraft.block.state.IBlockState) Colony(com.minecolonies.coremod.colony.Colony) TileEntityMultiBlock(com.minecolonies.coremod.tileentities.TileEntityMultiBlock)

Example 2 with TileEntityMultiBlock

use of com.minecolonies.coremod.tileentities.TileEntityMultiBlock in project minecolonies by Minecolonies.

the class WindowMultiBlock method onOpened.

/**
 * Called when the window is opened.
 * Sets up the buttons for either hut mode or decoration mode.
 */
@Override
public void onOpened() {
    final TileEntity block = Minecraft.getMinecraft().world.getTileEntity(pos);
    if (block instanceof TileEntityMultiBlock) {
        inputRange.setText(Integer.toString(((TileEntityMultiBlock) block).getRange()));
        inputSpeed.setText(Integer.toString(((TileEntityMultiBlock) block).getSpeed()));
        final EnumFacing dir = ((TileEntityMultiBlock) block).getDirection();
        final EnumFacing out = ((TileEntityMultiBlock) block).getOutput();
        enable(dir, dir, false);
        enable(out, out, true);
        return;
    }
    close();
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) EnumFacing(net.minecraft.util.EnumFacing) TileEntityMultiBlock(com.minecolonies.coremod.tileentities.TileEntityMultiBlock)

Aggregations

TileEntityMultiBlock (com.minecolonies.coremod.tileentities.TileEntityMultiBlock)2 TileEntity (net.minecraft.tileentity.TileEntity)2 Colony (com.minecolonies.coremod.colony.Colony)1 IBlockState (net.minecraft.block.state.IBlockState)1 EnumFacing (net.minecraft.util.EnumFacing)1