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);
}
}
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();
}
Aggregations